Macros 写入长/多行宏
我正在编写一些宏,这是示例代码Macros 写入长/多行宏,macros,haxe,Macros,Haxe,我正在编写一些宏,这是示例代码 macro public static function test(object:Expr,name:Expr):Expr{ #if debug return macro if ($object.get($name) == true) {$object.scan();$object.submit();return;}; #else return macro trace("debug mode only"); #end
macro public static function test(object:Expr,name:Expr):Expr{
#if debug
return macro if ($object.get($name) == true) {$object.scan();$object.submit();return;};
#else
return macro trace("debug mode only");
#end
}
随着我的宏变得越来越长和复杂,我在想,除了用分号连接语句之外,必须有另一种方法来编写多行宏
关于编写多行(约50-100生成行)宏有何建议 从示例中,我发现可以返回一个表达式块,而不仅仅是一行。只需将语句添加到一个花括号中并返回即可。也可以使用宏
macro public static function test(object:Expr, name:Expr):Expr {
#if debug
return macro
if ($object.get($name) == true) {
$object.scan();
$object.submit();
return;
}
#else
return macro {
trace("not working!")
trace("compile with -Ddebug");
}
#end
}
当您尝试添加换行符时,实际遇到了什么问题?表达式具体化应该支持任何有效的表达式,而不考虑换行符,因为它们在Haxe语法中根本不重要。试试吧。你可以有50-100行表达物化不用担心。你们甚至可以整节课。谢谢你们两位。我从你的提示中找到了答案:D我现在就发布答案