blob: 942f4bce2e6dc4a25fdfce02b490dfec39ea7f60 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# Test array index expressions and slice notation
my a = [10, 20, 30, 40, 50];
# Expression-based index
my i = 2;
assert 30 == say a[i];
assert 40 == say a[i + 1];
# Array element assignment
a[1] = 99;
assert 99 == say a[1];
# Basic slice (half-open range: end index is exclusive)
my sub = a[1:4];
assert 3 == say len sub;
assert 99 == say sub[0];
assert 30 == say sub[1];
assert 40 == say sub[2];
# Slice from start (low bound omitted)
my head = a[:2];
assert 2 == say len head;
assert 10 == say head[0];
# Slice to end (high bound omitted)
my tail = a[3:];
assert 2 == say len tail;
assert 40 == say tail[0];
# Full copy
my copy = a[:];
assert 5 == say len copy;
|