3

「if」として動作する「when」キーワードをBOOに追加する方法がわかりません。メソッドを作成できると思いますが、if のように when を動かすことができません。任意のポインタをいただければ幸いです。

-マーク

4

2 に答える 2

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/

于 2009-01-19T08:40:24.653 に答える
0

これはマクロの仕事になります。リンクしたページから、Booには構文マクロがあるようです。

余談ですが、なぜ既存の機能の正確な複製が必要なのですか?

于 2009-01-16T01:53:14.397 に答える