haxe 元值中的奇怪引号?

Strange quotes in meta values in haxe?

我有这个简单的代码可以从 class:

中提取元值
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"

这个结果是否正常,或者我做错了什么?

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

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