执行以下代码在最后一行给出了以下异常:
InvalidOperationException:“unbound variable:value”
var rubyRuntime = Ruby.CreateRuntime();
rubyRuntime.UseFile("HandleMoveRequested.rb");
var engine = rubyRuntime.GetEngine("rb");
dynamic ruby = engine.Runtime.Globals;
var handler = ruby.HandleMoveRequested.@new();
dynamic msg = new ExpandoObject();
msg.x = 1;
msg.y = 2;
handler.handle(msg);
HandleMoveRequested.rb的内容是:
class HandleMoveRequested
def handle(msg)
System::Console.WriteLine msg.x
System::Console.WriteLine msg.y
end
end
基本上我只想将一个完全动态的对象传递给Ruby对象的“handle”方法,并让它能够访问该对象的“x”和“y”属性。我吠叫错了树吗?
答案 0 :(得分:1)
我在构建最新的源代码后测试了您的代码(原样): http://github.com/ironruby/ironruby
请试试这个。我想这个修复程序将包含在下一个RC Build(RC3?)和更高版本中 当您从源代码构建时,确保使用Ruby4.sln构建“V4 Release”构建
编辑:自我测试,这在最新的
中没有问题