(define -ayalog '())

括弧に魅せられて道を外した名前のないプログラマ

2015-04-16から1日間の記事一覧

Clojure 使いの為の便利なドキュメント集

mbuczko/awesome-clojureだいたいこの辺を読むといいよ!とのこと。 もし何か欠けていたら PR から誰でも追加出来るようです。

Clojure で分割した行の全ての空行を保持したいんだけど…

Clojure split lines with all empty lines kept文字列中の最後の空行を Clojure だとどうやって残したらいいの?という質問。 user=> (require 'clojure.string) nil user=> (clojure.string/split-lines "a\n\nb\n") ["a" "" "b"] user=> (clojure.string/s…

何故 do ステートメントがグルーピングするのに必要なの?

Clojure - why is the "do" statement necessary for grouping?まぁそうなるよね、という例。 (defn x [] (if true (do (println "a") (println "b")))) => (x) a b nil do を使えば正常に動くけど、 do を抜かすと… (defn x [] (if true ((println "a") (pr…

(gensym) はユニークになるのに、 `(symb#) はユニークにならないのは何故?

(gensym) is always unique, `(symb#) is not -- why?初見だと僕も見事に引っかかった。 (defmacro indirection [name & body] `(do (def name# ~@body) (defn ~name [] name#))) このマクロは一度しか展開されないので、実行する度にいちいち展開されて nam…