roza/tests/acceptances/fun.roza

60 lines
634 B
Plaintext

# FUNCTIONS
# =========
fun double(n)
n * 2
end
assert double(4) == 8
assert 8 == double(4)
assert double(4) != 10
assert 9 != double(4)
assert double(double(double(3))) == 24
fun a()
return 45
end
assert a() == 45
fun b()
return 27
return 32
end
assert b() == 27
fun max(m, n)
if m > n then
return m
end
return n
end
assert max(7, 3) == 7
assert max(7, 9) == 9
# RECURSIVITY
# ===========
fun fac(n)
if n == 0 then
return 1
end
return n * fac(n - 1)
end
assert fac(5) == 120
fun fib(n)
if n == 0 or n == 1 then
return 1
end
return fib(n - 2) + fib(n - 1)
end
assert fib(6) == 13