Message10507
Various examples:
$ dist/bin/jython
Jython 2.7.1b2 (default:f528d540f4b3, Nov 24 2015, 08:25:24)
[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.7.0_75
Type "help", "copyright", "credits" or "license" for more information.
>>> import java
>>> java.util.Arrays.asList(xrange(10))
[<org.python.core.JavaIterator object at 0x2>]
>>> java.util.Arrays.asList(list(xrange(10)))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Perhaps more important is support in varargs:
>>> java.lang.String.format("arg0=%d arg1=%d arg2=%d", 6, 7, 8)
u'arg0=6 arg1=7 arg2=8'
>>> java.lang.String.format("arg0=%d arg1=%d arg2=%d", [6, 7, 8])
u'arg0=6 arg1=7 arg2=8'
>>> java.lang.String.format("arg0=%d arg1=%d arg2=%d", xrange(3))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4045)
at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2748)
at java.util.Formatter$FormatSpecifier.print(Formatter.java:2702)
at java.util.Formatter.format(Formatter.java:2488)
at java.util.Formatter.format(Formatter.java:2423)
at java.lang.String.format(String.java:2790)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
java.util.IllegalFormatConversionException: java.util.IllegalFormatConversionException: d != org.python.core.JavaIterator
But of course if we take the list of the iterator, it works:
>>> java.lang.String.format("arg0=%d arg1=%d arg2=%d", list(xrange(3)))
u'arg0=0 arg1=1 arg2=2' |
|
Date |
User |
Action |
Args |
2015-11-24 16:29:03 | zyasoft | set | messageid: <1448382543.02.0.533056810392.issue2279@psf.upfronthosting.co.za> |
2015-11-24 16:29:03 | zyasoft | set | recipients:
+ zyasoft |
2015-11-24 16:29:02 | zyasoft | link | issue2279 messages |
2015-11-24 16:29:02 | zyasoft | create | |
|