42
私はアンクォートスプライスを使用するClojureマクロを理解しようと壁に頭をぶつけています。私は必要なものを明確に説明できないようです。誰もそれを私にダミー語で説明することはできますか?Clojureのunquote-spliceについて簡単に説明できますか?
私はアンクォートスプライスを使用するClojureマクロを理解しようと壁に頭をぶつけています。私は必要なものを明確に説明できないようです。誰もそれを私にダミー語で説明することはできますか?Clojureのunquote-spliceについて簡単に説明できますか?
私はClojureの専門家ではありませんが、基本的にはLispなので、unquote-spliceはunquoteであり、リストが使用されている位置にマージされます。違いは次のようになります。
`(1 2 ~(list 3 4)) => (1 2 (3 4))
`(1 2 [email protected](list 3 4)) => (1 2 3 4)
` == syntax-quote
~ == unquote
[email protected] == unquote-splice
ああ、引用符で囲まれていないだけでリストを平坦化できますか? – Zubair
@Zubair:うん。また、CLojureでは、 '、'(コンマ)の代わりに '〜'(チルド)が使われています。 – ffriend
@ffriend:\ '(nth(ランダムな2)(多くのもの))が好きな人は閉鎖の変更を伝えます。伝統的な'、 '(カンマ) - なぜそれが変更されたのか?) –