我一直在玩Neko Modules,但我认为我的行为有些不一致.
var funcs = 0;
var objs = 0;
for (i in 0...m.globalsCount())
{
var obj:Dynamic = m.getGlobal(i);
if (Reflect.compareMethods(obj, init))
trace("matched");
if (Reflect.isFunction(obj))
funcs++;
else if (Reflect.isObject(obj))
objs++;
}
trace('Functions: $funcs');
trace('Objects: $objs');
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,当我第一次运行它时,我总共获得了4487个函数.如果我删除一个函数,重建并运行,我得到预期的4486.
我添加了compareMethods比较以比较objwith init,其中init是我在Main文件中声明的函数,但是从不输出跟踪.
我瞥了一眼compareMethods函数的代码提示,我偶然发现了以下术语:if 'f1' and the 'f2' are **physically** equal.
现在,它们都是功能,并且在Haxe手册中没有提到有关物理功能的任何内容.所以我有两个问题,真的.
什么是物理功能,如何实现上述的跟踪结果?先感谢您.