Project

General

Profile

Mtable » History » Version 7

Per Amundsen, 08/12/2023 07:06 PM

1 1 Per Amundsen
_Added in 4.4_
2
3 5 Per Amundsen
*/mtable -aTNAVB <name> [N..] <item> <value>*
4
*/mtable -eTNAVB <name> [N..] <N> <item> <value>*
5
*/mtable -iTNAVB <name> [N..] <N> <item> <value>*
6 6 Per Amundsen
*/mtable -lJXI <name> <file>*
7
*/mtable -sJXI <name> <file>*
8 1 Per Amundsen
*/mtable -d <name> [N..] <N>*
9
*/mtable -f <name>*
10
11
Adds/removes/inserts/modifies items in a multi dimensional table/array.
12
13 2 Per Amundsen
Items are not unique and the table is always ordered based on the N position in the table.
14
15 1 Per Amundsen
_See also [[$mtable]]._
16
17
*Parameters*
18
19 3 Per Amundsen
table(ktable).
20
|*Parameter*|*Description*|
21
| <name> | Name of the table to modify. |
22
| [N..] | Indicates the item should be added/inserted/deleted from sub table at position N, subsequent N parameters travels further down. |
23
| <N> | The Nth item in a table or sub table to modify. |
24
| <item> | The item name. |
25
| <value> | The item value. |
26 1 Per Amundsen
27
*Switches*
28
29 3 Per Amundsen
table(ktable).
30
|*Switch*|*Description*|
31
| -a | Add a new item to a table. |
32
| -e | Edit a item in a table. |
33
| -i | Insert a new item to a table. |
34
| -d | Delete a item from a table. |
35 6 Per Amundsen
| -l | Loads a table from a file. |
36
| -s | Saves a table to a file. |
37 3 Per Amundsen
| -f | Free/delete a table. |
38
| -T | Indicates the type is text. |
39
| -N | Indicates the type is a number. |
40
| -B | Indicates the type is a boolean. |
41
| -A | Indicates the type is a sub table/array. |
42 6 Per Amundsen
| -J | Indicates the file to load/save should be in "JSON":https://en.wikipedia.org/wiki/JSON format. |
43
| -X | Indicates the file to load/save should be in "XML":https://en.wikipedia.org/wiki/XML format. |
44
| -I | Indicates the file to load/save should be in "INI":https://en.wikipedia.org/wiki/INI_file format. |
45 1 Per Amundsen
46
*Example*
47
48
<pre>
49
; Add item1/value1 to the table 'table1'.
50
//mtable -a table1 item1 value1
51
52
; Add sub table 'item2' to the table 'table1'.
53
//mtable -aA table1 item2 value2
54
55
; Insert item3/value3 at position '1' in the table 'table1'.
56
//mtable -i table1 1 item3 value3
57
58
; Print number of items in table 'table1'.
59
//echo -ag Number of items in table1 is $mtable(table1, 0)
60
61
; Print the first items in table 'table1'.
62
//echo -ag First item in table1 is $mtable(table1, 1).item
63
64
; Delete the first item in table 'table1'.
65
//mtable -d table1 1
66
67
; Free the table 'table1'.
68
//mtable -f table1
69
70
; Add a new sub table to table 'table1',
71
//mtable -aA table1 sub1 sub1
72
73
; Add a new item to the sub table located at position '1' in table 'table1'.
74
//mtable -a table1 1 item1 value1
75
76
; Print the first item in the table 'table1', which is a sub table.
77
//echo -ag First item in table1 is $mtable(table1, 1).item - $mtable(table1, 1).type
78
79
; Print the first item in the sub table located at position '1' in table 'table1'.
80
//echo -ag First item in sub table1 is $mtable(table1, 1, 1).item
81
82
; Generates a json output of table 'table1'.
83 7 Per Amundsen
//echo -ag $mtable(table1).json
84 1 Per Amundsen
85
; Generates a ini output of table 'table1'.
86 7 Per Amundsen
//echo -ag $mtable(table1).ini
87 1 Per Amundsen
88
; Generates a xml output of sub table at position '1' in table 'table1'.
89 7 Per Amundsen
//echo -ag $mtable(table1, 1).xml
90
91
; Save 'table1' as a json file.
92
//mtable -sJ table1 table.json
93
94
; Load the json file 'table.json' into a new table 'table2'.
95
//mtable -lJ table2 table.json
96 1 Per Amundsen
</pre>