$callback = InterpreterCallback.new()
$callback.set_object(“var”, 3)
puts var
3
Depending on what you’re trying to do, you might be able to use a
simple eval statement:
irb(main):001:0> name=“var”
=> “var”
irb(main):002:0> value=“3”
=> “3”
irb(main):003:0> eval “#{name} = value”
=> “3”
irb(main):004:0> var
=> “3”
None of this actually works quite well for me. I am using SWIG directors
to embed ruby (and python, perl) into C# application trough C++ layer.
value actually wraps C++ object . InterpreterCallback actually extends
c++ class and I am calling set_object() from C++ - set_object(“editor”,
getEditor() ) - “editor” then can be used in the global namespace for
scripting convenience: