32 lines
		
	
	
		
			668 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			668 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ## 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 };
 |