Control Flow

Recursion

Imported from the upstream Vibescript examples at control_flow/recursion.vibe and runnable in the browser today.

Reference View source
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.
upstream control-flow browser-runner