hcl/t/var-02.hcl
2024-09-03 12:18:08 +09:00

39 lines
807 B
HCL

defun x (a :: x y z) {
x := (* a a);
y := (+ a a);
z := (- x y);
};
j := 21;
if (eqv? j 20) {
[a,b,c] := (x 20);
q := (x 20);
} else {
[a,b,c] := (x 30);
q := (x 30);
};
if (~= a 900) { printf "ERROR: a is not 900\n" } \
else { printf "OK: %d\n" a };
if (~= b 60) { printf "ERROR: b is not 60\n" } \
else { printf "OK: %d\n" b };
if (~= c 840) { printf "ERROR: c is not 840\n" } \
else { printf "OK: %d\n" c };
[aa,bb,cc] := ((xx := x) 10)
if (~= aa 100) { printf "ERROR: aa is not 100\n" } \
else { printf "OK: %d\n" aa };
if (~= bb 20) { printf "ERROR: bb is not 20\n" } \
else { printf "OK: %d\n" bb };
if (~= cc 80) { printf "ERROR: cc is not 80\n" } \
else { printf "OK: %d\n" cc };
if (nqv? xx x) { printf "ERROR: xx is not equal to x\n"} \
else { printf "OK: xx and x are equal\n" }