2010-02-08から1日間の記事一覧

Clojure のエレガントなところ

リスト、ハッシュマップ、ベクタ、集合のリテラルがある ;リスト (1 2 3 4) ;ハッシュマップ {:a 1, :b 2, :c 3} ;ベクタ [1 2 3 4] ;集合 #{1 2 3 4} よく使う基本データ型のリテラルがあるというのはソースコードに図が入ってるみたいで考えるよりも早く理…

無名関数で直にmapやvectorを返す時は #() ではなく fn を使う

user=> ((fn [x] [x x]) 1) [1 1] user=> ((fn [x] {:a x}) 1) {:a 1} fn が ok なので #() でもいけそうだと思ったが user=> (#([% %]) 1) java.lang.IllegalArgumentException: Wrong number of args passed to: LazilyPersistentVector (NO_SOURCE_FILE:0…