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

Reply via email to