The key difference between the two expressions is that ( c ) is a noun
and ( 2&{"1@] ) is a verb
d=: 2&{"1@]
type ;:'c d'
┌────┬────┐
│noun│verb│
└────┴────┘
So the form of amend you are using is different in the two cases ( m}
) cf ( u} ).
You get an index error using ( c ) because it is interpreting the
integers in ( c ) as indicies of ( a ) and ( a ) doesn't have matching
items for some of the big numbers in ( c ).
On Sat, May 19, 2012 at 11:30 AM, Robert Cyr <[email protected]> wrote:
> Inserting a 2 column array in a specified column of a rank 3 array.
>
> *Given*:
>
> a=.i.2 3 5
> b=.i.2 3
> ]c=.2{"1 a
> 2 7 12
> 17 22 27
>
> *This one is fine:*
>
> b(2&{"1@])}a
> 0 1 0 3 4
> 5 6 1 8 9
> 10 11 2 13 14
>
> 15 16 3 18 19
> 20 21 4 23 24
> 25 26 5 28 29
>
> *But not this quite similar one*:
> b c }a
> |index error
> | b c}a
>
> *Why?*
>
>
> Sent from my iPad
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm