aboutsummaryrefslogtreecommitdiff
path: root/test/tables.tm
blob: 53b720c951cd3773a5634fcab639eb203052d99d (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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

>> t := {"one"=>1, "two"=>2; default=999}
= {"one"=>1, "two"=>2; default=999}

>> t["one"]
= 1
>> t["two"]
= 2
>> t["???"]
= 999

t_str := ""
for k,v in t
	t_str ++= "({k}=>{v})"
>> t_str
= "(one=>1)(two=>2)"

>> #t
= 2
>> t.default
= ?(readonly)999
>> t.fallback
= !{Text=>Int}

>> t.keys
= ["one", "two"]
>> t.values
= [1, 2]

>> t2 := {"three"=>3; fallback=t}
= {"three"=>3; fallback={"one"=>1, "two"=>2; default=999}}

>> t2["one"]
= 1
>> t2["three"]
= 3
>> t2["???"]
= 999

>> #t2
= 1
>> t2.default
= !Int
>> t2.fallback
= ?(readonly){"one"=>1, "two"=>2; default=999}

t2_str := ""
for k,v in t2
	t2_str ++= "({k}=>{v})"
>> t2_str
= "(three=>3)"