我正在练习编写宏,但我似乎无法让defn
工作。
我的语法是:(my-define name parameter body)
忽略&参数和递归例程,如何将名称绑定到(fn [parameter] body)?
答案 0 :(得分:20)
您需要转换
(my-define <name> <args> <body>)
到
(def <name> (fn <args> <body>))
实际上这很简单:
(defmacro my-define [name args body]
`(def ~name (fn ~args ~body)))