blob: c6eab8def516facf4a649609705ca93524e796b8 (
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# Variable typing.
#
#[string] str3 = foo
#[bool] str3 = false # error: changing str3 type from string to bool
#[bool, string] str3 = foo # error: multiple variable types: bool, string
#[junk] jnk = foo # error: unknown variable attribute junk
[string] str1 = bar
str1 =+ foo
str1 += baz
print $str1
str2 = bar
[string] str2 =+ foo
str2 += baz
print $str2
# Value typing.
#
#v = [bool, string] true # error: multiple value types: string, bool
#v = [string=junk] true # error: unexpected value for attribute string: junk
#[string] var =
#var = [bool] true # error: confliction variable var type string and value type bool
#var = [string] false
#var += [bool] true # error: confliction original value type string and append/prepend value type bool
v1a = [uint64] 00
v1b += [uint64] 00
v1c =+ [uint64] 00
print $v1a $v1b $v1c # 0 0 0
v2 = [uint64] 00
v2 = [string] 00
print $v2 # 00
#v3a = [uint64] 00
#v3a += [string] 00 # error: confliction original value type uint64 and append/prepend value type string
#v3b = [uint64] 00
#v3b =+ [string] 00 # error: confliction original value type uint64 and append/prepend value type string
v4a = 01
v4a += [uint64] 01
print $v4a # 2
v4b = 01
v4b =+ [uint64] 01
print $v4b # 2
v5a = 01
sub/
{
v5a += [uint64] 01
print $v5a # 2
}
v5b = 01
sub/
{
v5b =+ [uint64] 01
print $v5b # 2
}
v6 = [uint64, null]
v6 += 00
print $v6 # 0
v7 = [string, null]
v7 += [uint64] 00
print $v7 # 0
print [uint64] 00 # 0
v8 = [uint64] 01
v8 = abc
print $v8 # abc
./:
|