26 lines
424 B
Plaintext
26 lines
424 B
Plaintext
function fib(x)
|
|
if x < 0
|
|
raise ParamError(description|"Negative argument invalid", extra|"Fibbonacci sequence is undefined for negative numbers")
|
|
else
|
|
return (function(y)
|
|
if y == 0
|
|
return 0
|
|
elif y == 1
|
|
return 1
|
|
else
|
|
return fself(y-1) + fself(y-2)
|
|
end
|
|
end)(x)
|
|
end
|
|
end
|
|
|
|
|
|
try
|
|
>fib(2)
|
|
>fib(3)
|
|
>fib(4)
|
|
>fib(-1)
|
|
catch in e
|
|
> e
|
|
end
|