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
|