2024 Clojure 状态调查!中分享您的想法。

欢迎!有关如何操作的信息,请参阅关于页面。

0
Clojure

(let [i 5] (defmacro m [& args] args) (def x (m (inc 5) (inc 6) (inc 7))) [x m (meta #'m)])

[(8) #<用户$eval522$m__523 用户$eval522$m__523@11a74355> {:macro true, :ns #<命名空间 user>, :name m, :arglists ([& args]), :line 1, :file "NO_SOURCE_PATH"}]

尽管存在元数据,但它似乎将 m 解释为函数。这种行为仅在 (let ...) 内出现。

3 个回答

0

评论由:bronsa 发布

问题与http://dev.clojure.org/jira/browse/CLJ-918相同

链接中的补丁是我的,但我当时没有 CA 签名,也没有 jira 账号。

以下是以正确格式提供的相同补丁。

应将错误编号 #918 关闭,因为这是一个重复项

0

评论由:jafingerhut 发布

我尚未深入了解,但截至 2013 年 10 月 25 日的最新 Clojure master 补丁无法干净地应用。

0
参考:https://clojure.atlassian.net/browse/CLJ-1021(由 alex+import 报告)
...