On Fri, Jan 28, 2011 at 9:41 AM, Miguel de Icaza <mig...@novell.com> wrote: >> My bad; that works. This doesn't: evaluator.Evaluate("using System;\n >> int b;") nor evaluator.Run("using System;\n int b;") I'm assuming >> because the "using System;" is not an expression? > > Correct, you can not mix using statements and regular code, that is > the only limitation.
Ok, I've worked around that by going through the code line by line, pre-Run() any "using X;" statements, then Evaluate() the rest. That functionality could be built-in. If there are compiler commands to allow functions and classes, I'd love to do that. That is the biggest limitation. I couldn't get IronPython to correctly tell Evaluate/Run to re-direct the Out/Error messages, even though the executed code does redirect. Evaluate must be doing something funny under the hood to cache the streams. Two other wish-list items: 1) it would be handy to inject a variable into the environment of the Evalutor. Something like: Evaluator.SetValue("x", my_value). Of course, one can do that from inside the interpreter, but I have values outside that I would like to inject in. There is probably a way through reflection to get to the value, but that would be a handy function. 2) relatedly, it would be nice to have some way of sharing environments between DLR languages and interpreted Csharp. In any event, one can now control robots interactively with interpreted CSharp. Thanks! -Doug _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list