All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			fixed the issue of the lost line terminator after the comment text which caused the next line to be treated as the same line
		
			
				
	
	
		
			88 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			HCL
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			HCL
		
	
	
	
	
	
| defun aaa(a b) {
 | |
| 	| c |
 | |
| 	set c (+ a b);
 | |
| 	return c;
 | |
| };
 | |
| 
 | |
| set k (aaa 10 20);
 | |
| 
 | |
| if (= k 30) {
 | |
| 	printf "OK - %d\n" k;
 | |
| } else {
 | |
| 	printf "ERROR - %d\n" k;
 | |
| };
 | |
| 
 | |
| ## --------------------------------------
 | |
| 
 | |
| defun mkfun(t) {
 | |
| 	return (fun(c) {
 | |
| 		return (+ t c);
 | |
| 	});
 | |
| }
 | |
| 
 | |
| defun mkfund(t) {
 | |
| 	return {fun(c) {
 | |
| 		return (fun(d) {
 | |
| 			return (+ d c t)
 | |
| 		})
 | |
| 	}}
 | |
| }
 | |
| 
 | |
| f := (mkfun 20);
 | |
| set k (f 50);
 | |
| if (k = 70) {
 | |
| 	printf "OK - %d\n" k;
 | |
| } else {
 | |
| 	printf "ERROR - %d\n" k;
 | |
| };
 | |
| 
 | |
| k := {
 | |
| 	(mkfun 20) 30
 | |
| }
 | |
| if (k = 50) {
 | |
| 	printf "OK - %d\n" k
 | |
| } else {
 | |
| 	printf "ERROR - %d\n" k
 | |
| };
 | |
| 
 | |
| k := {
 | |
| 	(mkfun 20) 30 ## the return value of this expression is ignored
 | |
| 	(mkfun 20) 40 ## the return value of this expression is the return value of the block expression
 | |
| }
 | |
| if (k = 60) {
 | |
| 	printf "OK - %d\n" k
 | |
| } else {
 | |
| 	printf "ERROR - %d\n" k
 | |
| };
 | |
| 
 | |
| k := (((mkfund 10) 40) 30)
 | |
| if (k = 80) {
 | |
| 	printf "OK - %d\n" k
 | |
| } else {
 | |
| 	printf "ERROR - %d\n" k
 | |
| };
 | |
| ## --------------------------------------
 | |
| 
 | |
| defclass A | a b c | {
 | |
| 	defun :* newInstance(x y z) {
 | |
| 		set a x
 | |
| 		set b y
 | |
| 		set c z
 | |
| 		return self
 | |
| 	};
 | |
| 
 | |
| 	defun get-a() { return a; };
 | |
| 	##defun get-b() b;
 | |
| 	##defun get-c() c;
 | |
| };
 | |
| 
 | |
| k := (A:newInstance 11 22 33);
 | |
| ##set k (A:newInstance 11 22 33);
 | |
| 
 | |
| set v (k:get-a);
 | |
| if (= v 11) {
 | |
| 	printf "OK - %d\n" v;
 | |
| } else {
 | |
| 	printf "ERROR - %d\n" v;
 | |
| };
 |