說,我有,我想在這兩個標準重複使用關鍵字在將它傳遞給Clojure中的宏之前,是否可以將符號解析爲其值?
(def keys [::description ::url ::mailing-list])
以下陣列;一個用於定義一個映射,另一個用於定義一個函數的可選參數。
(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*
獲得通過引用的符號'keys
,而不是在它的參考變量保持的解析值。
所以我的問題是:是否有可能在讀取時像普通lisp #.
reader宏一樣解析鍵的值,還是必須重新定義宏以解析符號(如果它獲得符號而不是列表)文字?
作品以及使用Clojure但不幸的是不與clojurescript –
嗯,這是不幸的,規範是如此馬cro重。 – Rovanion
是的,我最終確實使用了宏。我希望我能擴展那個符號,儘管沒有包含在宏中。 –