私はlabreplを進めており、このパターンに従うコードを見ました。
;; Pattern
(apply #(apply f %&) coll)
;; Concrete example
user=> (apply #(apply + %&) [1 2 3 4])
10
これは、このパターンと同等のようです。
;; Pattern
(apply f coll)
;; Concrete example
user=> (apply + [1 2 3 4])
10
これらのパターンは同等ですか?そうでない場合、違いは何ですか?いつ使用しますか?
labreplのセルオートマトンラボのステップ関数から前者のパターンを取得しました。
(defn step
"Advance the automation by one step, updating all cells."
[board]
(doall
(map (fn [window]
(apply #(apply map brians-brain-rules %&)
(doall (map torus-window window))))
(torus-window board))))
更新:質問を明確にするために、各パターンの具体的な例を追加しました。