2017-05-27 30 views
1

如何将fun的所有匹配项替换为function,而不会将function等项显然转换为functionction。 当我使用fun时,我将如何去除return的需求?haxe中的代码替换宏?

回答

1

我不认为你可以引入新的关键字与宏,你必须使用某种方式有效的语法,你可以转换为其他有效的语法。

基本宏是语法转换。它接收零个或多个表达式并返回一个表达式。如果调用一个宏,它将有效地将代码插入到被调用的地方。在这方面,它可以与C++中的#define等预处理器进行比较,但Haxe宏不是文本替换工具。

来源:macro in the Haxe manual

+0

我敢肯定(80%),其'fun'是有效的表达式。这意味着查找用'fun'标识的成员/字段的值。 – zehelvion

+0

我猜测问题出在'(a:A,b:B,c:C)'部分原因,这不是我熟悉的表达式。如果这是可能的,那么能够生成没有参数的小函数将会很好。 – zehelvion

+0

这太好了:https://github.com/ciscoheat/slambda/blob/master/src/Slambda.hx 它使用'fn',它足够接近,但我无法理解代码。 – zehelvion