116 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			116 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | ls -laF | ||
|  | 
 | ||
|  | print @get-jobs | ||
|  | print $(get-jobs) | ||
|  | 
 | ||
|  | (defun a (a b c) | ||
|  | 	ddddd		 | ||
|  | ) | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | fun a (a b c) => e f | ||
|  | 	e = 20 | ||
|  | 	f = 30		 | ||
|  | end | ||
|  | 
 | ||
|  | 
 | ||
|  | class t | ||
|  | 	fun a(a b c) => e f | ||
|  | 		while a < b | ||
|  | 			if a < b | ||
|  | 			else | ||
|  | 			end | ||
|  | 		end | ||
|  | 
 | ||
|  | 		for i = 1 to 20 | ||
|  | 		end | ||
|  | 	end | ||
|  | end | ||
|  | 
 | ||
|  | 
 | ||
|  | ##################################################### | ||
|  | 
 | ||
|  | $() <--- process execution expansion | ||
|  | {...} <--- range? | ||
|  | [ 1 2 3 ] <--- array | ||
|  | 
 | ||
|  | #() <-- array??? | ||
|  | #[] <-- hash table?? | ||
|  | #{} <-- ??? | ||
|  | #<> <--? | ||
|  | 
 | ||
|  | $() <--- | ||
|  | $[] <--- | ||
|  | ${} <--- | ||
|  | $<> <--- | ||
|  | 
 | ||
|  | 
 | ||
|  | if cmd | ||
|  | 	 | ||
|  | end | ||
|  | 
 | ||
|  | while cmd | ||
|  | end | ||
|  | 
 | ||
|  | fun fib a | ||
|  | 	let a = 20 <-- use it as if it's an declaration + init?? | ||
|  | 	"let" a = 20 <--- call the command let | ||
|  | 	@a = 20 <-- lvalue | ||
|  | 	$a      <-- rvalue | ||
|  | 	return $a | ||
|  | end | ||
|  | 
 | ||
|  | "fun" fib a  <--- call the command 'fun', fun it not special?? | ||
|  | 
 | ||
|  | function name as lvalue? function name as rvalue?? | ||
|  | 	fib 10 <--- call the function.  | ||
|  | 	let x = fib <--- what is this syntax? assigning the function fib to x? it's not call? | ||
|  | 	let x = $[fib] | ||
|  | 	let x = $[fib < /dev/null >/dev/null] | ||
|  | 
 | ||
|  | $(fib a) <-- capture  | ||
|  | 
 | ||
|  | @a = $[fib 20]   <-- capture return value | ||
|  | @a = $(fib 20)  <-- capture stdout?? | ||
|  | 
 | ||
|  | @a = $[fib $[ls -laF]]   | ||
|  | @a = $[fib $(ls -laF)] | ||
|  | 
 | ||
|  | 
 | ||
|  | complex expression inside $[] and $()?? | ||
|  | $( | ||
|  | 	printf "abc";  | ||
|  | 	if ... | ||
|  | 		... | ||
|  | 	else | ||
|  | 		... | ||
|  | 	end | ||
|  | ) | ||
|  | 
 | ||
|  | 
 | ||
|  | class X   ### class X Y <--- Y is a parent class? | ||
|  | 	names := #[] <- array? | ||
|  | 	tools := #{} <- hash table? | ||
|  | 
 | ||
|  | 	fun __construct name | ||
|  | 		names.add name | ||
|  | 		let k := 20 | ||
|  | 		k := $(20 + 30) | ||
|  | 		return k | ||
|  | 
 | ||
|  | 		@names<20> = "jelly" | ||
|  | 		@tools<"donkey"> = names; | ||
|  | 		@tools.donkey = names? | ||
|  | 		@k = $tools.donkey  >>>> "${tools.donkey}"  ${tools.donkey} "${tools}.donkey" | ||
|  | 	end | ||
|  | 
 | ||
|  | 	fun say_hi msg | ||
|  | 		print msg | ||
|  | 		ls -laF << execute external command  if the global variable PATH is not null | ||
|  | 		        << external command is disabled if PATH is null | ||
|  | 		/bin/ls -alF  << if the command begins with /, it still allows execution if this feature is not disabled | ||
|  | 		return 20 | ||
|  | 	end | ||
|  | end |