RosettaCodeData/Task/Anonymous-recursion/Nim/anonymous-recursion.nim
2023-07-01 13:44:08 -04:00

12 lines
292 B
Nim

# Using scoped function fibI inside fib
proc fib(x: int): int =
proc fibI(n: int): int =
if n < 2: n else: fibI(n-2) + fibI(n-1)
if x < 0:
raise newException(ValueError, "Invalid argument")
return fibI(x)
for i in 0..4:
echo fib(i)
# fibI(10) # undeclared identifier 'fibI'