【发布时间】:2012-07-22 01:47:17
【问题描述】:
在 common lisp 中,我可以将多个 defun 放在同一个闭包中,并让它们全部设置函数。
(let ((number 0))
(defun get-number () number)
(defun set-number ( arg ) (setq number arg)))
如果我在 clojure 中使用相同的语法,那么只有最后一个函数最终会被定义。
(let [ number 0 ]
(defn get-number [] number)
(defn set-number [ arg ] (def number arg)))
有没有办法将此代码翻译成 clojure 以便您可以访问这两个函数?
【问题讨论】:
-
您可以在 Common Lisp 的 LET 中使用 DEFUN,但我一般不会推荐它。 DEFUN 不再是 LET 内部的顶级表单,它在编译方面略有不足。
-
@RainerJoswig - 谢谢,我不知道。
标签: clojure common-lisp