mirror of
https://github.com/ProgramSnail/Lama.git
synced 2025-12-06 23:08:46 +00:00
33 lines
914 B
Text
33 lines
914 B
Text
var samples = [
|
|
{"a", "b", "c"},
|
|
"string",
|
|
[],
|
|
Fruit ("apple"),
|
|
fun () {skip}
|
|
];
|
|
|
|
fun show () {
|
|
-- Note: it would be much better to use iterArray from standard unit Array;
|
|
-- in that case, however, we wouldn't be able to showcase
|
|
-- for-loops and []-expressions.
|
|
for var i; i := 0, i < samples.length, i := i+1 do
|
|
printf (" %s has %d subvalue(s):\n", samples[i].string, samples[i].length);
|
|
for var j; j := 0, j < samples[i].length, j := j+1 do
|
|
printf (" subvalue [%d] = %s\n", j, samples[i][j].string)
|
|
od
|
|
od
|
|
}
|
|
|
|
printf ("And now we look at accessing/modifying/analyzing the values.\n");
|
|
printf ("Any composite value can be asked on the number of its immediate subvalues,\n");
|
|
printf ("and these subvalues can be accessed:\n");
|
|
|
|
show ();
|
|
|
|
printf ("And the subvalues of a composite value can be reassigned.\n");
|
|
|
|
samples [2] := [1, 2, 3];
|
|
samples [0][1] := {};
|
|
|
|
show ()
|
|
|