ネスティング#、%は悪いことを知っていますが、私は自分自身で短い2つのレベルの#/%を持つオンライン匿名関数を書くことがよくあります。clojureマクロでの#/%のネスト
こういうわけで、私は好奇心が強いのですが、各%が最も近い(最小の囲み)#にバインドされている何かをクロージャに伝える方法がありますか?
ありがとうございます!
ネスティング#、%は悪いことを知っていますが、私は自分自身で短い2つのレベルの#/%を持つオンライン匿名関数を書くことがよくあります。clojureマクロでの#/%のネスト
こういうわけで、私は好奇心が強いのですが、各%が最も近い(最小の囲み)#にバインドされている何かをクロージャに伝える方法がありますか?
ありがとうございます!
ネストされた匿名関数を持つことは、まったく問題ありません。あなたはちょうど非略語の構文を使用する必要があります。
#(foo (bar %1)
(baz %2))
フル変異体は任意にネストすることができる
(fn [x y]
(foo (bar x)
(bax y)))
と等価です。あなたはfn
多いmap
を使用する傾向がある場合にも、(私の意見でより明確に見える傾向がある)の代わりにfor
を使用して検討してください。
(map (fn [row]
(map (fn [col]
(+ (* 10 row) col))
(range 3)))
(range 3))
は、私はこれを2回読ん
(for [row (range 3)]
(for [col (range 3)]
(+ (* 10 row) col)))
と同じことを行い、あなたの質問が何であるかはかなり分かりません。あなたはそれを明確にしていただけますか?それはおそらくより有用な答えを得るのに役立ちます。 –