我有一个 IronRuby 脚本,它通过ScriptScope
.
我想在修改后检索变量的值,但我得到了旧值。
这是我的代码:
var engine = Ruby.CreateEngine();
var scope = engine.Runtime.CreateScope();
scope.SetVariable("y", 11);
var source = engine.CreateScriptSourceFromString("y=33; puts y;", SourceCodeKind.Statements);
source.Execute(scope);
上面的代码执行并输出33
到控制台,就OK了。
但是,我尝试在上述代码之后添加以下行:
Console.WriteLine(scope.GetVariable("y"));
它输出11
,这是原始值。
有没有办法获得新的变量值?