I found this difference between IronPython and CPython in struct:

CPython
>>> struct.unpack('I','\xedd\x02\x00')
(156909,)

IronPython 2.0b1
>>> struct.unpack('I','\xedd\x02\x00')
(156909L,)

It seems that even although unpack('I', '\xff'*4) has to be a long,
for values of sys.maxint or below, CPython always returns an int.

Python ints and longs behave very similarily, so most of the time this
matters little. Enter bug #2.

ToString(format) doesn't work on python longs, but it will work on
python ints (as long as clr is imported.)

I would suggest that because sometimes it does matter whether you have
an int or a long, it would be best to fix the discrepancy in struct.

As for supporting ToString(format) on longs, I don't see this as being
easy or high priority, perhaps it would be enough to implement it by
converting the long to System.Decimal, and just using it's
ToString(format) which works perfectly.

I will report these on Codeplex.

-Dan
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to