を介して設定された変数の値を変更する 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
され、コンソールに出力されますが、これで問題ありません。
ただし、上記のコードの後に次の行を追加してみました。
Console.WriteLine(scope.GetVariable("y"));
11
そして、元の値である を出力します。
新しい変数値を取得する方法はありますか?