【发布时间】:2014-04-06 21:00:08
【问题描述】:
我在将参数传递给宏函数时遇到问题。
我想将一个字符串传递给一个如下所示的函数:
macro public static function getTags(?type : String)
但是有编译错误:
haxe.macro.Expr 应该为 Null
因此,根据文档,我将其更改为:
macro public static function getTags(?type : haxe.macro.Expr.ExprOf<String>)
这行得通,但我怎样才能访问字符串值?如果我追踪我的类型,我会得到:
{ expr => EConst(CIdent(type)), pos => #pos(lib/wx/core/container/ServiceContainer.hx:87: 字符 36-40) }
我认为我必须打开type.expr,但我的 const 包含变量名称,而不是值。我如何访问该值?有没有更简单的方法来获得这个值(例如没有开关)。
我认为这是因为对函数的调用不在宏中,并且我认为我想做的事情是不可能的,但我更喜欢问。 :)
【问题讨论】: