clojure 中类似函数的方案宏
Macro for scheme like function in clojure
我想创建类似定义宏的方案,这是我的尝试:
(defmacro define [list & body]
`(defn ,(first list) [~@(rest list)] ~body))
但是当我 运行:
(定义 (foo a b) (+ a b))
我遇到错误:java.lang.Exception: First argument to def must be a Symbol (NO_SOURCE_FILE:18)
我的宏有什么问题?
您需要使用~
取消对交易品种名称的引用:
(defmacro define [list & body]
`(defn ~(first list) [~@(rest list)] ~@body))
我想创建类似定义宏的方案,这是我的尝试:
(defmacro define [list & body]
`(defn ,(first list) [~@(rest list)] ~body))
但是当我 运行:
(定义 (foo a b) (+ a b))
我遇到错误:java.lang.Exception: First argument to def must be a Symbol (NO_SOURCE_FILE:18)
我的宏有什么问题?
您需要使用~
取消对交易品种名称的引用:
(defmacro define [list & body]
`(defn ~(first list) [~@(rest list)] ~@body))