【发布时间】:2012-06-03 19:03:54
【问题描述】:
我有一个 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,这是原始值。
有没有办法获取新的变量值?
【问题讨论】:
标签: c# ironruby dynamic-language-runtime