我正在尝试“获取”clojure 宏并are
根据现有are
宏编写宏的调整版本。我想要的调整是有签名[argv expr args]
而不是[argv expr & args]
所以我试过了
(defmacro are2 [argv expr args] `(clojure.test/are ~arg ~expr ~@args))
哪种有效,除了它需要一个未引用的列表:
(are2 [input] (= 0 input) (1 2 3))
我宁愿期待一个引用列表:
(are2 [input] (= 0 input) '(1 2 3))
但这会导致:
Unable to resolve symbol: quote in this context.
如果我尝试
(are2 [input] (= 0 input) (list 1 2 3))
而是将list
其本身作为测试用例进行处理。
我有什么不明白/我怎样才能超越我的宏中的报价