我似乎无法弄清楚我如何将'when'关键字添加到BOO,这应该表现为'if'。我想我可以制作一个方法,但是我不能像我一样在周围移动。任何指针都会受到赞赏。
-Mark
答案 0 :(得分:11)
这可以做你想要的:
import Boo.Lang.Compiler.Ast
import Boo.Lang.Compiler.MetaProgramming
macro when:
return [|
if $(when.Arguments[0]):
$(when.Block)
|]
x = 1
when x == 1:
print "x equals one"
when x == 2:
print "x equals two"
顺便说一句,随意(也)在Boo邮件列表上询问,以便更快地获得(更多)答案;)
答案 1 :(得分:0)
这将是一个宏的工作。从您链接的页面看,Boo似乎有语法宏。
另外,为什么需要现有功能的完全复制?