32 lines
668 B
HCL
32 lines
668 B
HCL
|
## there are 8 local temporaries variables in the top-level context
|
||
|
## the 8 temporaries defined inside the block expression are parked
|
||
|
## at the top-level context. 'a' assigned before the block expression
|
||
|
## is a global variable.
|
||
|
|
||
|
a := 1234
|
||
|
|
||
|
{
|
||
|
| a b c d |
|
||
|
| e f g h |
|
||
|
a := 10
|
||
|
b := 20
|
||
|
c := 30
|
||
|
d := 40
|
||
|
e := 50
|
||
|
f := 60
|
||
|
g := 70
|
||
|
h := 80
|
||
|
|
||
|
if (/= a 10) { print "ERROR: a inside the block expression is not 10\n" } \
|
||
|
else { printf "OK: %d\n" a };
|
||
|
}
|
||
|
|
||
|
a := (a + 1)
|
||
|
c := (sprintf "%d" a)
|
||
|
|
||
|
if (/= a 1235) { printf "ERROR: a is not 1235\n" } \
|
||
|
else { printf "OK: %d\n" a };
|
||
|
|
||
|
if (nql? c "1235") { printf "ERROR: c is not \"1235\"\n" } \
|
||
|
else { printf "OK: %s\n" c };
|