普段Scalaのことばっかり書いてるこの日記だが、たまにはClojureの話題でも。Clojureには、無名関数を簡単に作るための構文があり、無名関数化したい範囲を#()で囲って、引数を与えたい部分に%を書くという感じで、短い無名関数を綺麗に書けるので気に入っている。たとえば、リストの全ての要素に1を足すという処理は、#()を使って以下のように記述できる。 user=> (map #(+ % 1) '(1 2 3 4 5)) (2 3 4 5 6) 無名関数の引数が複数ある場合も、もちろん対応していて、その場合は、第一引数は%1、第二引数は%2という具合に、%nという形で記述すれば良い。たとえば、リストの各要素を2乗した値を合計するという処理が以下のように書ける。このようなケースは、Scalaのプレースホルダ構文だとうまく書けない(同じ仮引数が複数個所に出現するため。複数引数の無名関数その