RosettaCodeData/Task/Anonymous-recursion/Swift/anonymous-recursion-2.swift

11 lines
182 B
Swift

let fib: Int -> Int = {
var f: (Int -> Int)!
f = { n in
assert(n >= 0, "fib: no negative numbers")
return n < 2 ? 1 : f(n-1) + f(n-2)
}
return f
}()
println(fib(8))