2010-02-01から1ヶ月間の記事一覧

forマクロ

Clojureでプログラムを組んでいるうちに、forマクロが強力だということにやっと気づいたので、リファレンスを書いてみる。 forマクロとは 普通の(というか、CやJava系列の)言語では、forはループ文を表すが、Clojureではforマクロはループではなく、シーケン…

identityの別名定義でmapを便利にする

Clojureのmapでこういう変換をしたくなるときがよくある。(1 "piyo" :foo) -> ({:hoge 1} {:hoge "piyo"} {:hoge :foo})でも、#()で無名関数の定義をしてみると、エラーが出る。 #()の中身は、関数呼び出しorマクロor特殊形式である必要があるため、(#(1))と…