1

我正在尝试在 sweet.js 中编写一个case宏,但我不知道如何匹配块的结尾。特别是我想匹配宏调用和包含它的块的末尾之间的代码。例如如果我的宏是myMacro,代码如下

var foo = function() {
    console.log('log1');
    myMacro(someArg);
    console.log('log2');
    console.log('log3');
}        

我希望能够将行与“log2”和“log3”匹配。我的猜测是我不能,但我无法在文档中找到一个明确的定义(指针将不胜感激)。可能吗 ?

4

1 回答 1

2

...模式会将标记匹配到分隔符的末尾(或文件,如果没有分隔符),因此您可以执行以下操作:

macro myMacro {
    rule { $x ... } => {
        function bar() {
            $x ...
        }
    }
}

这只会将所有标记粘贴到函数myMacro内部的结束分隔符之后。bar

于 2014-03-31T20:35:25.127 回答