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

欢迎!请访问关于页面以获取更多关于该功能的信息。

0
tools.macro

(defmacro event-handler (link: argsv & body)
`(reify EventHandler (~'handle ~argsv ~@body)))

(macroexpand
'(macrolet (link: (add-handler [& body)

                       `(event-handler
                          (link: ~'this ~'e) ~@body))]
 (add-handler 1)))

结果在handle之后和`(link: this e)之前出现了额外的括号

(do (reify* (link: javafx.event.EventHandler) (handle ((link: this e) 1))))

2 回答

0

评论者:oskarkv

这已在版本0.1.5中修复,但github页面https://github.com/clojure/tools.macro表示最新版本是0.1.2。

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