On Dec 1, 1:53 pm, Norris Boyd <[EMAIL PROTECTED]> wrote: > On Dec 1, 2:11 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > > > > > On Dec 1, 6:12 am, Norris Boyd <[EMAIL PROTECTED]> wrote: > > > > On Nov 27, 3:26 am, "Johan Compagner" <[EMAIL PROTECTED]> wrote: > > > > > if i remember correctly shift() on a nativejavaarray works differently > > > > then > > > > on an NativeArray (js array) > > > > I think way back i did patch that in our code of rhino so that those > > > > things > > > > behave the same (like in my eyes it should) > > > > > johan > > > > > On Thu, Nov 27, 2008 at 00:43, [EMAIL PROTECTED] <[EMAIL > > > > PROTECTED]>wrote: > > > > > > I'm a newbie to Rhino. Recently I'm encountering a problem when using > > > > > shift() js method on an array-like variable, the length of the array > > > > > is never reduced by one. Is it a bug or somethinig wrong with the way > > > > > I use shift()? That array-like variable is obtained from Java. So I > > > > > guess that's why its type is NativeJavaArray (on java side). > > > > > > Thanks for any help. > > > > > _______________________________________________ > > > > > dev-tech-js-engine-rhino mailing list > > > > > [EMAIL PROTECTED] > > > > >https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino > > > > Is this what you're talking about: > > > > js> var a = java.lang.reflect.Array.newInstance(java.lang.String,10); > > > js> a > > > [Ljava.lang.String;@181edf4 > > > js> for (var i=0; i<10; i++) a[i] = i; > > > 9 > > > js> for (var i=0; i<10; i++) print(a[i]) > > > 0 > > > 1 > > > 2 > > > 3 > > > 4 > > > 5 > > > 6 > > > 7 > > > 8 > > > 9 > > > js> a.shift() > > > 0 > > > js> a.length > > > 10 > > > > The problem is that Java arrays, unlike JavaScript arrays, are created > > > with immutable length. > > > > --N > > > Thanks all for your post. > > @Johan: I'm thinking that NativeArray and NativeJavaArray work > > differently for shift(). > > @Norris: Does it mean if a java array passed to javaScript(the case > > you showed here is creating the java array in javascript, but for my > > case, i'm actually executing a javascript file from java and the array > > is passed from java to javascript) has immutable length and the length > > of it is not supposed to be changed? > > Yes, that's correct--it's not *possible* to change the length of the > Java array. We could create a new array with a different length, but > then any references to the old array would still have the old length. > > > > > Thanks!
Thank you very much for your help! _______________________________________________ dev-tech-js-engine-rhino mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino
