在sweet.js宏名称中转义括号

时间:2015-01-20 00:41:30

标签: javascript macros sweet.js

我想编写一个扩展宏,但为了做到这一点,我需要覆盖函数的调用方式,如下所示:

someFn(..>someArray)

需要输出:

someFn.apply(null, someArray)

我尝试过创建一个名为(的宏。我已经看到你不需要在宏体中转义括号,并且括号用于转义多个令牌名称......但到目前为止,我在尝试创建具有该名称的宏时遇到了问题。

使用该名称,使用Error: Line 16: Unexpected end of input解析宏时出错。是否有可以使用的转义字符,或者这是否需要在Github中报告?

1 个答案:

答案 0 :(得分:0)

因此(不是可用于宏的有效令牌。这是因为在任何宏扩展发生之前必须平衡所有分隔符(这是sweet.js的读者部分)。因此,错误说意外结束输入,读者仍然在寻找结束分隔符。

我不认为我们现在有一个很好的覆盖函数调用的方法。我们有一些关于如何解决这个问题的想法(参见一个有点相关的问题here),但还没有实现。