[问题]
假设我们QScriptEngine
使用以下脚本进行输入:
var foo = 1;
var bar = 2;
foo + bar
通过QScriptEngine::evaluate()
,我们将得到一个QScriptValue
返回值,它可以转换回int
等于 3。
另一方面,如果我们QScriptEngine
输入脚本:
var foo = 1;
var bar = 2;
那么我们如何访问堆上脚本的值foo
和bar
创建的值呢?
[例子]
以MATLAB(Python IDLE同理)为例。我可以读取脚本文件,并且脚本创建的变量仍可用于命令提示符。
我正在考虑在 Qt 中做同样的事情:
- 读取脚本文件到
QString
- 调用
QScriptEngine::evaluate()
评估QString
但我不知道如何获得var
由脚本创建的那些。
PS该脚本可能非常复杂,而不仅仅是竞争变量,我只是尝试使问题更简单。