do --- recursive-sum
local
if n == 1 then return 1 end
return n + sum(n-1)
end
assert(sum(200) == 20100)
end
do --- recursive-pcall
local pcall = pcall
local tr1
local x = 0
if n <= 0 then return end
x = x + 1
return pcall(tr1, n-1)
end
assert(tr1(200) == true and x == 200)
end
do --- fibonacci-using-recursion
local
if n < 2 then return 1 end
return fib(n-2) + fib(n-1)
end
assert(fib(15) == 987)
end