有人可以向我解释如何在 QScriptEngine 扩展中获得命名空间吗?我已经设置好了,所以我在 script/ 下有一个目录 foo/,其中正在执行一个 __init__.js 文件。
__setupPackage__(__extension__);
print(__extension__);
hello = function() { return 5; };
在我的 C++ 代码中:engine.evaluate("hello();"); // 工作正常
所以我的问题是,像 foo/bar/whatever (foo.bar.whatever) 这样的文件层次结构有什么意义,如果它们都集中到一个全局命名空间中?我看过一些示例,他们尝试在代码中创建命名空间,但如果没有编译器错误,我似乎无法让它工作。
foo = {
hello : function() { return 5; }
};
在我的 C++ 代码中:
engine.evaluate("foo.hello();");
我是否误解了 Qt 处理命名空间的方式?不管是从哪个文件中获取的,是否真的应该将所有内容都混入一个全局范围?是否有创建这些类型的名称空间的适当示例?谢谢。