On Thu, 15 Nov 2007, Pete wrote:

NumberTools.longToString throws a type error on a plain int.

In [3]: NumberTools.longToString(36)
---------------------------------------------------------------------------
<class 'lucene.InvalidArgsError'>         Traceback (most recent call last)

/home/pfein/<ipython console> in <module>()

<class 'lucene.InvalidArgsError'>: (<type 'type'>, 'longToString', 36)

In [4]: NumberTools.longToString(long(36))
Out[4]: u'00000000000010'

Yes, that's the intent.

I could make the argument parsing more leniant but this comes with two problems:

  - it makes it ambiguous: if there were two java methods called
    longToString(), one taking a long and one taking an int, making the long
    one accept int would cause the wrong method to be called if long is
    checked before int.
    Sure, I could, in some cases, determine the right order for checking
    overloads (check int before long since long is wider) but this gets
    pretty complicated.

  - it makes things slower by trying out more things than necessary

If you want to call longToString(36), use longToString(36L) and all is good.

Andi..
_______________________________________________
pylucene-dev mailing list
[email protected]
http://lists.osafoundation.org/mailman/listinfo/pylucene-dev

Reply via email to