24 lines
501 B
Plaintext
24 lines
501 B
Plaintext
fib=lambda -> {
|
|
fib1=lambda (x)->If(x>1->lambda(x-1)+lambda(x-2), x)
|
|
=lambda fib1 (x) -> {
|
|
If x<0 then Error "argument outside of range"
|
|
If x<2 then =x : exit
|
|
=fib1(x)
|
|
}
|
|
}() ' using () execute this lambda so fib get the returned lambda
|
|
Module CheckIt (&k()) {
|
|
Print k(12)
|
|
}
|
|
CheckIt &Fib()
|
|
Try {
|
|
Print fib(-2)
|
|
}
|
|
Print Error$
|
|
Z=Fib
|
|
Print Z(12)
|
|
Dim a(10)
|
|
a(3)=Z
|
|
Print a(3)(12)=144
|
|
Inventory Alfa = "key1":=Z
|
|
Print Alfa("key1")(12)=144
|