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
|