I had thought I'd written insert so it would accept list
arguments for insertion.  I did not.

Here's a version which works like I had originally
intended:

insert=:1 :0
:
 b=.1#~1 j.m e.~i.#y
 ((-.b)expand x)+b expand y
)

For example, if I wanted to insert a 4 after both the
second position in a list (like the original example)
and after the third position in a list (like the original
requirement), I could use:

    4 4 (1 2 insert) 2 3 5 6
2 3 4 5 4 6

Note that the index 0 would indicate the first position
(this is just the usual distinction be cardinal and ordinal
numbers).

That said, if I want this to work with any kind of argument
(not just numeric), I could use:

ins=:1 :0
:
 b=.1#~1 j.m e.~i.#y
 x (I.-.b)} b expand y
)

   ' ' 3 5 6 ins 'thisisatest'
this is a test

-- 
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to