は、私は私は2つの仕様で再利用したいキーワードClojureでマクロに渡す前にシンボルをその値に解決できますか?
(def keys [::description ::url ::mailing-list])
の次の配列を持っていると言います。 1つはマップを定義するためのもので、もう1つは関数へのオプションの引数を定義するためのものです。
(require '[clojure.spec :as spec])
(spec/def ::project-map
(spec/keys :opt-un keys))
(spec/def ::project-args
(spec/keys* :opt-un keys))
問題がkeys
とkeys*
GETが引用されたシンボル'keys
はなく、それが参照しています変数で開催された解決された値に合格したこと、その後です。
私の質問は、一般的なlisp #.
リーダマクロのように読み取り時にキーの値を解決することは可能ですか、リストの代わりにシンボルを取得する場合は、マクロを再定義する必要がありますリテラル?
Clojureのとよく作品しかし、残念なことにclojurescriptではありません –
うん、それは仕様がそんなに悲しいクロウヘビー。 – Rovanion
さて、私は最後にマクロを使ってしまった。私はマクロでラップすることなく、その1つのシンボルを展開することができたらいいと思う。 –