1
J'essaie d'ajouter une variable à la portée, puis j'accède à cette variable à partir de mon expression ruby.Comment référencer une variable ajoutée à un ScriptScope de IronRuby?
C#
ScriptRuntime runtime = IronRuby.Ruby.CreateRuntime();
var scope = runtime.ExecuteFile("C:\\codebase\\Test\\Test2\\Test2\\person2.rb");
scope.SetVariable("name", "Scott");
dynamic person = scope.Engine.Execute("p = Person.new(name)");
person.sayHi();
Ruby
class Person
def initialize(name)
@name = name.capitalize
end
def sayHi
puts "Hello #{@name}!"
end
end
J'ai supposé à tort que puisque vous appeliez Execute à partir de la portée, il aurait déjà tout ce qui est nécessaire dans la portée. Le truc globalConstants est cool aussi. C'est une façon plus simple d'appeler Ruby. – ScArcher2