[IronPython] Bug in beta9?
Martin Maly
Martin.Maly at microsoft.com
Fri Jul 14 06:41:45 CEST 2006
Dino is absolutely right. In our new conversion rules, there is no implicit conversion between integer types (both standard Python types - int and bigint, and CLR integer types - byte, sbyte, short, ushort, long, ulong, uint, decimal) and char. Char is in Python pretty much interchangeable with one-character string and we tried to find the right balance for conversions that are implicit and those which require explicit 'cast'. Consider for example CPython's:
>>> range('a')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: range() integer end argument expected, got str.
You can still do int("1") or int(Char.Parse('a')), both explicit conversions.
Hope this helps.
Martin
-----Original Message-----
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Dino Viehland
Sent: Thursday, July 13, 2006 4:47 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Bug in beta9?
I think this is probably due to some changes w/ method dispatch (we'll no longer convert from char to int?). I'll have to ask around to see if that's part of the design or not. As a work around you can do:
chr(ord(a.KeyChar))
-----Original Message-----
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Jörgen Stenarson
Sent: Thursday, July 13, 2006 3:17 PM
To: Discussion of IronPython
Subject: [IronPython] Bug in beta9?
Hi
I have hit a change in the behaviour that results in an exception. Is this behaviour expected? My workaround for now is to change chr to str.
/Jörgen
file(tipy.py) used in test:
import System
readkey=System.Console.ReadKey
print "Press a key"
a=readkey(True)
print chr(a.KeyChar)
Test with beta8:
>c:\IronPython-1.0-Beta8\IronPythonConsole.exe tipy.py Press a key d
Test with beta9:
>c:\IronPython-1.0-Beta9\ipy -i tipy.py Press a key Traceback (most recent call last):
File C:\python\pyreadline_branch\pyreadline\console\tipy.py, line 8, in Initialize
File , line 0, in Chr##75
TypeError: Cannot convert Char(d) to Int32
_______________________________________________
users mailing list
users at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
users mailing list
users at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
More information about the Ironpython-users
mailing list