From: Andrea <mar...@go...> - 2009-07-27 09:14:10
|
Philip Jenvey <pjenvey <at> underboss.org> writes: > > > On Jul 24, 2009, at 1:08 PM, Andrea wrote: > > > > File "/home/andrea/foo/j.py", line 7, in printTrace > > print arg[2] > > IndexError: index out of range: 2 > > I've tried to access the element from Java and got the same error. Basically the elements of a PyTuple are not allowed to be null (as in Java null). The same seems true in Jython (but I cannot debug much, I've only read the source code). The null-check is performed in SequenceIndexDelegate.checkIdxAndGetItem() (for Jython) and in PyTuple.get() (for Java, which raises a Null Pointer Exception). Now, before I find the source of this null, I have some questions: 1) is null a valid value for an element of a PyTuple? 2) Should it be automatically converted to None? 3) Should PyTuple throw when such an element is found (either at creation or if someone sets it?), or only when one tries to use it? 4) More generally, what is the relationship between null and None? Andrea |