如何在Boo中添加语言关键字,让'when'表现为'if'

时间:2009-01-15 23:09:23

标签: boo

我似乎无法弄清楚我如何将'when'关键字添加到BOO,这应该表现为'if'。我想我可以制作一个方法,但是我不能像我一样在周围移动。任何指针都会受到赞赏。

-Mark

2 个答案:

答案 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邮件列表上询问,以便更快地获得(更多)答案;)

http://groups.google.com/group/boolang/

答案 1 :(得分:0)

这将是一个宏的工作。从您链接的页面看,Boo似乎有语法宏。

另外,为什么需要现有功能的完全复制?