7
是否可以在Clojure中编写一个生成多个值或表达式的宏? 对我来说,看起来这是不可能的,至少不使用语法引用模板`(..)。如何编写Clojure宏来创建多个表达式?
例如从:经由[1 (mr 2 3) 4]
[1 4]
到[1 2 3 4]
或从:
(do
(prn 1)
(prn 4))
经由:
(do
(prn 1)
(mr 2 3)
(prn 4))
到:
(do
(prn 1)
(prn 2)
(prn 3)
(prn 4))
谢谢亚瑟!我已经在期待这个答案,但很确定。 – Stefan 2010-09-21 18:55:44
但是你真的可以给我一个例子:返回两个独立窗体的宏如何导致安全问题,但是否安全?我认为范围仍然是一样的。 – Stefan 2010-09-21 22:07:15
我对此使用的术语'安全'宽松地抱歉。我会编辑以扩展。 – 2010-09-21 22:47:42