Je construis une console IronRuby dans silverlight 4 et WinForms (net4). Je peux rediriger la sortie sans problème:Comment rediriger l'entrée de ironruby vers une zone de texte (WinForms & Silverlight 4)
MyRuntime = Ruby.CreateRuntime();
msOutput = new MemoryStream();
MyRuntime.IO.SetOutput(msOutput, Encoding.UTF8);
MyEngine = MyRuntime.GetEngine("rb");
MySource = MyEngine.CreateScriptSourceFromString("a='123'\nputs a", SourceCodeKind.Statements);
MySource.Execute();
textBox2.Text = ReadFromStream(msOutput);
Maintenant, je veux rediriger l'entrée aussi, mais toujours obtenir un « néant » à partir du script:
MyRuntime = Ruby.CreateRuntime();
msOutput = new MemoryStream();
msInput = new MemoryStream();
MyRuntime.IO.SetOutput(msOutput, Encoding.UTF8);
MyRuntime.IO.SetInput(msInput, Encoding.UTF8);
MyEngine = MyRuntime.GetEngine("rb");
MySource = MyEngine.CreateScriptSourceFromString("a=gets\nputs a", SourceCodeKind.Statements);
byte[] byteArray = Encoding.UTF8.GetBytes("123");
msInput.Write(byteArray, 0, byteArray.Length);
MySource.Execute();
textBox2.Text = ReadFromStream(msOutput);
Je ne peux pas trouver des échantillons de redirection l'entrée, pouvez-vous s'il vous plaît envoyer un exemple? Je vous remercie.