2つ以上のs式を返すマクロを記述する(または既存のものを使用する)方法はありますか?2つ以上のs式を返すClojureマクロ
例。
(map * (repeat 2 (range 10)))
:
(map * (range 10) (range 10))
は、今私がしようとすると、パラメータとして、私は、後に(今のところ2)電力を供給できるように繰り返しを使用したい:私は最初の10個の正方形を生成しようとしていますと言います
上記は動作しませんは2つの範囲ではなく2つの範囲で単一のs式を返します。
「最初の10四角形を返す」関数の代替実装を提供しないでください。このような状況や一般的に適用可能な回避策に対処するための慣用的な方法に興味があります。私はを実装する方法を探していたとし
は以下を爆発:
(explode '(a b c)) ;; evals to a b c
(map * (explode (repeat 2 (range 10)))
ご質問はやや混乱しています。あなたが仕事を見たいと思う構文の例を提供できるなら、それは役に立ちます。現在、Clojureで特定の定義を持つ 'map'と' repeat'を使用しています。 – JohnJ
@JohnJ私の投稿の更新された尾を参照してください –