いろいろClojureを調べていたところ出くわした"->"というマクロが気になったのでリファレンスを見てなんとなく理解した気がするので書いておきます。 アロー(->)なマクロさん 現代的にしようという意図はありつつも、Lisp道をひた走るClojureさん。 連鎖的な関数呼び出しでよくあるのはやはりS式です。 (println (- (int 2.1) 1)) ; => 1 この結果は1が表示されるというものです。 ですが、"->"マクロは同じことを (-> 2.1 int (- 1) println) ; => 1 このような書き方で実現できるようになります。 つまり、最初に受け取った引数を第2引数で受け取った関数の第1引数に、そしてその結果を第3引数で受け取った関数の第1引数に…といった形で処理していきます。S式の例と見比べれば分かりやすいと思います。 ダブルアロー(->>)なマクロさ