Testasd » History » Revision 55
Revision 54 (Per Amundsen, 02/07/2023 02:46 PM) → Revision 55/73 (Per Amundsen, 02/07/2023 02:54 PM)
h1. Multidimensional arrays
*/marray -a <name> [N..] <type> <item> <value>*
add item
*/marray -e <name> [N..] <N> <type> <item> <value>*
edit item
*/marray -i <name> [N..] <N> <type> <item> <value>*
insert item
*/marray -d <name> [N..] <N>*
delete item
*/marray -f <name>*
delete/free table
*$marray(name, N, [N..])*
gets the Nth item in a table, subsequent N parameters gets the Nth item from a sub table, infinite sub depth.
*Switches*
.item - Get item.
.value - Get item value.
.type - Get item type. (0 = text, 1 = number, 2 = bool, 3 = bvar, 4 = sub table)
.json - TODO, generate a json table from all items in the table and all sub tables'
.ini - ?
*Examples*
<pre>
; Add key1/value1 to the table 'table1'.
//marray -a table1 0 key1 value1
; Add key2/value2 to the table 'table1'.
//marray -a table1 4 key2 value2
; Insert key3/value3 to the table 'table1'.
//marray -i table1 1 4 key3 value3
; Print number of items in table 'table1'.
//echo -ag Number of items in table1 is $marray(table1, 0)
; Print the first items in table 'table1'.
//echo -ag First item in table1 is $marray(table1, 1).item
; Delete the first item in table 'table1'.
//marray -d table1 1
; Free the table 'table1'.
//marray -f table1
; Add a new sub table to table 'table1',
//marray -a table1 4 sub1 sub1
; Add a new item to the sub table located at position '1' in table 'table1'.
//marray -a table1 1 0 key1 item1
; Print the first item in the table 'table1', which is a sub table.
//echo -ag First item in table1 is $marray(table1, 1).item - $marray(table1, 1).type
; Print the first item in the sub table located at position '1' in table 'table1'.
//echo -ag First item in sub table1 is $marray(table1, 1, 1).item
</pre>