Updated (the issue with Rhino being broken was actually the cvs command
I was using wasn't checking out the new json directory)
$ ant jar
$ java -jar build/rhino1_7R3pre/js.jar -version 170
Rhino 1.7 release 1 2008 11 26
js> var foo = { __iterator__ : function(onlyKeys) { print(onlyKeys);
yield 0; } };
js> for ( let f in foo ) {}
true
js> for each ( let f in foo ) {}
true
js>
Norris Boyd wrote:
On Jul 22, 3:33 am, Daniel Friesen <[email protected]> wrote:
Norris Boyd wrote:
On May 21, 10:03 am, "Ionut G. Stan" <[email protected]> wrote:
Hi,
I'm trying to implement a custom iterator and want to return different
values depending on the method of iteration (for..in or for each..in).
The problem is that my __iterator__ function receives the "onlyKeys"
parameter as being always true regardless of the for loop used.
So in Rhino 1.7 release 2 2009 03 22 on Windoes XP SP3 with Java
1.6.0_13, I have this test case:
var foo = {
__iterator__ : function(onlyKeys) {
print(keys);
yield [0, "a"];
}
};
for each (let f in foo) {}
for (let f in foo) {}
The above will print true for both cases whereas the following (tested
in Firefox 3.0.10) works as expected.
<script type="application/javascript;version=1.7">
var foo = {
__iterator__ : function(onlyKeys) {
alert(keys);
yield [0, "a"];
}
};
for (let f in foo) {}
for each (let f in foo) {}
</script>
Am I doing something wrong or is it a (known) bug? Hopefully, I'm
doing something wrong.
Cheers
Yes, this is a bug. I've just committed a fix to CVS:
ScriptRuntime.java version 1.312.
--N
This fix does not appear to be working. I found out that my array
__iterator__ was broken in Rhino while working on MonkeyScript. I
checked out cvs and testing my code and this code still fails. onlyKeys
is always true even when using for each.
--
~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://daniel.friesen.name]
Sorry the fix didn't work for you. Can you post a shell session that
shows the failure, or even better open a bug?
--N
--
~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://daniel.friesen.name]
_______________________________________________
dev-tech-js-engine-rhino mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino