Build 我是否可以在Haxe中使用宏打印一行代码,并将其添加到统计数据中,用于FFun?

Build 我是否可以在Haxe中使用宏打印一行代码,并将其添加到统计数据中,用于FFun?,build,macros,haxe,Build,Macros,Haxe,我已经花了很多时间试图这样做,但它给出了一个非常奇怪的错误,而且,打印出了我想要的目标。看起来很有趣 我读了很多关于物化的书,但是我的问题没有答案 push(宏$p{[“this”,f.name]}=$i{“components.get_table(“+t+”);”}) src/Main.hx:31:第31-83行:在此类中定义 src/ecs/macro_tools/ProcessorInject.hx:54:字符53-89:未知标识符:components.get_表(ecs.compone

我已经花了很多时间试图这样做,但它给出了一个非常奇怪的错误,而且,打印出了我想要的目标。看起来很有趣

我读了很多关于物化的书,但是我的问题没有答案

push(宏$p{[“this”,f.name]}=$i{“components.get_table(“+t+”);”})

src/Main.hx:31:第31-83行:在此类中定义 src/ecs/macro_tools/ProcessorInject.hx:54:字符53-89:未知标识符:components.get_表(ecs.components.Transform)

或输出: src/ecs/macro_tools/ProcessorInject.hx:54:字符53-89:未知标识符:components.get_表(ecs.components.Transform); src/Main.hx:31:第31-83行:在此类中定义 src/ecs/macro_tools/ProcessorInject.hx:54:字符53-89:未知标识符:components.get_表(ecs.components.Circle); src/Main.hx:31:第31-83行:在此类中定义 生成已暂停,但出现错误(haxe.exe)

决定成功了


决定成功了

很难知道在如此少的上下文中发生了什么,但是
states.push(宏$p{[“this”,f.name]}=components.get_table($v{t}))应该可以更好地工作。不幸的是,这是一个元构建,我尝试使用Any静态传递组件,但它也不起作用<代码>代码/…@:构建(ecs.macro\u tools.ProcessorInject.build(ProcessorA.ccomponents))/。。。宏静态公共函数构建(components:Any):数组{states.push(宏$p{[“this”,f.name]}=components.get_table($v{t}));文件“_build/src/typing/macroContext.ml”,第670行,字符11-17:断言失败
代码var st:String=f.name+”=components.get_table(“+t.toString()+”);var e=Context.parse(st,Context.currentPos());states.push(宏$e);
决定了,而且成功了!很难知道在如此少的上下文中发生了什么,但是
states.push(宏$p{[“this”,f.name]}=components.get_table($v{t}))
应该可以更好地工作。不幸的是,这是一个元构建,我试图使用Any静态传递组件,但它也不起作用。
code/…@:build(ecs.macro_tools.ProcessorInject.build(ProcessorA.ccomponents))/…宏静态公共函数构建(组件:Any):数组{states.push(macro$p{[“this”,f.name]}=components.get_table($v{t}));文件“_build/src/typing/macroContext.ml”,第670行,字符11-17:断言失败
code-var-st:String=f.name+”=components.get_table(“+t.toString()”);var-e=Context.parse(st,Context.currentPos());states.push(macro$e);
决定了,它成功了!
var st:String = f.name + " = components.get_table(" + t.toString() + ")"; 
var e = Context.parse(st, Context.currentPos()); 
states.push(macro $e);