有人可以向我解釋如何在QScriptEngine擴展中獲取命名空間?我已經設置好了,所以我有一個目錄foo/under script /,並且正在執行__init __。js文件。命名空間QScriptEngine擴展
__setupPackage__(__extension__);
print(__extension__);
hello = function() { return 5; };
在我的C++代碼: engine.evaluate( 「你好();」); //正常工作
所以我的問題是,像foo/bar/whatever(foo.bar.whatever)這樣的文件層次結構的重點是什麼,如果它們都被集成到一個全局命名空間中?我已經看到了一些例子,他們試圖在代碼中創建一個名稱空間,但我似乎無法在沒有編譯器錯誤的情況下工作。
foo = {
hello : function() { return 5; }
};
,在我的C++代碼:
engine.evaluate("foo.hello();");
我誤解的Qt處理命名空間的方式嗎?是否應該將所有事情都撮合到全球範圍內,而不管它是從哪個文件中提取的?有沒有一個適當的例子來創建這些類型的命名空間?謝謝。
是有可能,QScript不允許你創建對象文本?試試'foo = new Object; foo.hello = function(){};'而不是。 –