at:tutorial:basic
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
at:tutorial:basic [2020/02/09 16:48] – * elisag | at:tutorial:basic [2020/02/09 19:37] – elisag | ||
---|---|---|---|
Line 66: | Line 66: | ||
>>[1, [1, 2, [" | >>[1, [1, 2, [" | ||
</ | </ | ||
+ | |||
==== Table Splicing ==== | ==== Table Splicing ==== | ||
Line 84: | Line 85: | ||
>>[2, 3, 4] | >>[2, 3, 4] | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Multidimensional tables ==== | ||
+ | |||
+ | As mentioned before, there is no special constructor for definition of multidimensional tables, a table entry can contain another table. In what follows we have a closer look to manipulations with multidimensional tables. | ||
+ | |||
+ | < | ||
+ | def a := [[1,0,0], [0,1,0], [0,0,1]]; | ||
+ | >> | ||
+ | >a[1][2] | ||
+ | >>0 | ||
+ | >a[1] | ||
+ | >>[1, 0, 0] | ||
+ | </ | ||
+ | |||
+ | An implicit definition of the same table can be expressed as follows: | ||
+ | |||
+ | < | ||
+ | def i := 0; | ||
+ | def aux[3] {0}; | ||
+ | def b[3] { i := i + 1; aux := [0,0,0]; aux[i] :=1; aux}; | ||
+ | >> | ||
+ | >b[1][2] | ||
+ | >>0 | ||
+ | </ | ||
+ | |||
+ | Finally, we can create a function for nXn tables as follows: | ||
+ | |||
+ | < | ||
+ | def makeMatrix(n) { def col[n] {0}; def m[n] { [@col]}}; | ||
+ | def c := makeMatrix(3); | ||
+ | >> | ||
+ | > | ||
+ | >>3 | ||
+ | >c | ||
+ | >> | ||
+ | >c[2] := [1,2,3] | ||
+ | >>[1, 2, 3] | ||
+ | >c | ||
+ | >> | ||
+ | </ | ||
+ | |||
===== Functions ===== | ===== Functions ===== |
at/tutorial/basic.txt · Last modified: 2020/02/09 22:05 by elisag