From a discussion a while ago I kept the following:
NB. insert new items into an array - behaves like amend.
ins =: 1 : (':'; 'x ((+i.@#)m)}(>:(i.#y)e.m)#y')
For example:
'-' 3 ins 'hello'
hel-lo
It also does:
column 2 ins"1 table
┌─┬─┬─┬─┐
│0│1│0│2│
├─┼─┼─┼─┤
│3│4│0│5│
├─┼─┼─┼─┤
│6│7│0│8│
└─┴─┴─┴─┘
Ben
________________________________________
From: [email protected]
[[email protected]] on behalf of Strale
[[email protected]]
Sent: Monday, July 20, 2015 14:11
To: [email protected]
Subject: [Jprogramming] insert column into tables
Hello
I am trying to combine Tables togethers
for example I would like to insert column before the column 2 of the table
[table =. 3 3 $ <"0 i.9
┌─┬─┬─┐
│0│1│2│
├─┼─┼─┤
│3│4│5│
├─┼─┼─┤
│6│7│8│
└─┴─┴─┘
[column =. 3 1$ (<,'0')
┌─┐
│0│
├─┤
│0│
├─┤
│0│
└─┘
the solution I have found at the moment is the following:
[tab2 =. 2|."1 table
┌─┬─┬─┐
│2│0│1│
├─┼─┼─┤
│5│3│4│
├─┼─┼─┤
│8│6│7│
└─┴─┴─┘
[tab3 =. column ,"1 1 tab2
┌─┬─┬─┬─┐
│0│2│0│1│
├─┼─┼─┼─┤
│0│5│3│4│
├─┼─┼─┼─┤
│0│8│6│7│
└─┴─┴─┴─┘
Result:
2|."1 tab3
┌─┬─┬─┬─┐
│0│1│0│2│
├─┼─┼─┼─┤
│3│4│0│5│
├─┼─┼─┼─┤
│6│7│0│8│
└─┴─┴─┴─┘
Can you suggest me a better solution ?
Thanks
Paolo
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm