Comment ajouter une chaîne à une c # IList de IronRuby?
-
27-10-2019 - |
Question
je reçois l'exception suivante lorsque je tente d'utiliser un script Ruby pour modifier une liste de chaînes c #.
Exception non gérée: System.ArgumentException:. La valeur "Scott" est pas de type "System.String" et ne peut pas être utilisé dans cette collection générique
c #
IList<string> names = new List<string>();
names.Add("scott");
names.Add("jason");
ScriptRuntime runtime = IronRuby.Ruby.CreateRuntime();
ScriptEngine engine = runtime.GetEngine("IronRuby");
ScriptScope scope = engine.CreateScope();
scope.SetVariable("names", names);
engine.ExecuteFile("test.rb", scope);
foreach (var name in names)
{
Console.WriteLine(name);
}
ruby ??
names.map! { |item| item.capitalize}
La solution
Ajouter to_clr_string
au code ruby:
names.map! { |item| item.capitalize.to_clr_string }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow