Control Flow
Recursion
Imported from the upstream Vibescript examples at control_flow/recursion.vibe and runnable in the browser today.
Source
control_flow/recursion.vibe
# vibe: 0.2
def factorial(n)
if n <= 1
1
else
n * factorial(n - 1)
end
end
def fibonacci(n)
if n <= 1
n
else
fibonacci(n - 1) + fibonacci(n - 2)
end
end
def run
{
factorial_5: factorial(5),
factorial_10: factorial(10),
fibonacci_5: fibonacci(5),
fibonacci_7: fibonacci(7)
}
end
Output
Press run to execute run from this example.