30 lines
709 B
Text
30 lines
709 B
Text
// arrays are created as literals, by simply listing elements, or by a generator expression, or a combination.
|
|
def a: [1, 2, 3..7:2, 11];
|
|
$a -> !OUT::write
|
|
'
|
|
' -> !OUT::write
|
|
|
|
// Natural indexes start at 1
|
|
$a(1) -> !OUT::write
|
|
'
|
|
' -> !OUT::write
|
|
|
|
// But you can have an array start at any index
|
|
def b: -5:['foo', 'bar', 'qux'];
|
|
$b(-3) -> !OUT::write
|
|
'
|
|
' -> !OUT::write
|
|
|
|
// You can select a range
|
|
$a(3..last) -> !OUT::write
|
|
'
|
|
' -> !OUT::write
|
|
|
|
// Or a permutation/selection
|
|
$a([4,1,5]) -> !OUT::write
|
|
'
|
|
' -> !OUT::write
|
|
|
|
// Values in Tailspin are generally immutable, but there is a mutable slot in a function/templates.
|
|
// A mutable array can be appended
|
|
5 -> \(@: [1,2]; $ -> ..|@: $; $@ ! \) -> !OUT::write
|