|
I was actually thinking of System.Decimal.
I can now create one with Decimal(5), but it would be more convenient if I
could just add a single character or so to the number. You probably wouldn’t
like extending the Python language for this, I would guess. From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On
Behalf Of Dino Viehland I think we can keep
FilterStackFrame public and like you suggest make it just take an Exception
object. I think we’re
going to make the switch from SetGlobal taking a SymbolId to using a string,
but until we do that you’re right to use SymbolTable.StringToId. For double you
should ensure there’s a decimal point in the number, or you could always
do float(1) which will give you the floating point version – although the
decimal point is preferred (in C# you can do 1D for this). For Decimal are you
referring to System.Decimal or Python’s decimal type in the standard
library? I assume it’s the Python one, and I don’t believe
there’s any special syntax for that. From:
[EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kristof Wagemans Thanks for the info about directly calling
a Python method. This is definitively going to be useful. Maybe someone else has answers for my
other questions about FilterStackFrame, no overload with name for SetGlobal and
format specifiers for double and decimal? From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On
Behalf Of Shri Borde Hi Kristof, You can call a Python method as such. public delegate int IntIntDelegate(int arg); engine.Execute("def IntIntMethod(a): return a *
100"); IntIntDelegate d = engine.Evaluate<IntIntDelegate>("IntIntMethod"); Console.WriteLine(d(2)); //
This prints “200” I have opened this bug http://www.codeplex.com/WorkItem/View.aspx?ProjectName=IronPython&WorkItemId=632
to track the issue with setdefaultencoding. Shri ________ Do
you want to help develop Dynamic languages on CLR? (http://members.microsoft.com/careers/search/details.aspx?JobID=6D4754DE-11F0-45DF-8B78-DC1B43134038) From:
[EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kristof Wagemans I’ve been experimenting with a Python console control
for WPF. The improvements made for IronPython beta 8 make this a lot easier
thanks to several new functions on the PythonEngine: ExecuteToConsole,
FormatException and ParseInteractiveInput. One of the things I need to do to communicate with a C#
application is to change the default encoding to receive non-ascii characters.
For this I execute several commands after the PythonEngine instance is created. import sys sys.setdefaultencoding('utf_16_le') Setting the default encoding seems like a good candidate for
the options you can pass to the engine while creating a new instance. It would
also be easier if I could get at the options through a PythonEngine instance. I hope you’re not going to remove the FilterStackFrame
delegate from the FormatException method as the comment seems to indicate. I
think it’s very useful to filter my own C# application from the stack
trace. Maybe you could add an overload with just the Exception and
FilterStackFrame? To set a variable in the PythonEngine you need to use
SetGlobal with a SymbolId. Am I correct to use SymbolTable.StringToId(name) to
generate a SymbolId? It used to be easier with just a string to specify the
name. A useful enhancement for the PythonEngine might be if there
was a way to directly call a Python function loaded in the engine and pass
parameters to it and get the return value. You could also support out
parameters similar to calling a method through reflection. If you want to specify that a number is a long you can write
10L. Is there a way to specify that a number is a double or a decimal? |
_______________________________________________ users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
