haxe中meta值中的奇怪引号?

时间:2016-02-16 18:44:05

标签: haxe

我有这个简单的代码从类中提取元值:

package;

@:rtti
class TestClass
{
    @testMeta("test_val_0", "test_val_1")
    var testVar = 0;
}

class Main
{
    static function main()
    {
        trace(haxe.rtti.Meta.getFields(TestClass).testVar.testMeta[0]);
        for( field in haxe.rtti.Rtti.getRtti(TestClass).fields )
            if( field.name == "testVar" )
                for( meta in field.meta )
                    if( meta.name == "testMeta" )
                        trace(meta.params[0]);
    }
}

当我编译并运行它时,我得到了这个奇怪的结果:

c:\test_meta>haxe -main Main -neko test.n & neko test.n
Main.hx:14: test_val_0
Main.hx:19: "test_val_0"

这个结果好吗,或者我做错了什么?

1 个答案:

答案 0 :(得分:2)

据我所知,你没有做错任何事,这绝对是一个奇怪的差异。

我刚用Haxe的最新开发分支对此进行了测试,其行为相同。我在Haxe's issue tracker上创建了一个问题,让Haxe团队了解这个潜在的错误。