RosettaCodeData/Task/Arrays/GAP/arrays.gap

46 lines
848 B
Plaintext

# Arrays are better called lists in GAP. Lists may have elements of mixed types, e$
v := [ 10, 7, "bob", true, [ "inner", 5 ] ];
# [ 10, 7, "bob", true, [ "inner", 5 ] ]
# List index runs from 1 to Size(v)
v[1];
# 10
v[0];
# error
v[5];
# [ "inner", 5 ]
v[6];
# error
# One can assign a value to an undefined element
v[6] := 100;
# Even if it's not after the last: a list may have undefined elements
v[10] := 1000;
v;
# [ 10, 7, "bob", true, [ "inner", 5 ], 100,,,, 1000 ]
# And one can check for defined values
IsBound(v[10]);
# true
IsBound(v[9]);
# false
# Size of the list
Size(v);
# 10
# Appending a list to the end of another
Append(v, [ 8, 9]);
v;
# [ 10, 7, "bob", true, [ "inner", 5 ], 100,,,, 1000, 8, 9 ]
# Adding an element at the end
Add(v, "added");
v;
# [ 10, 7, "bob", true, [ "inner", 5 ], 100,,,, 1000, 8, 9, "added" ]