RosettaCodeData/Task/Fibonacci-sequence/Swift/fibonacci-sequence-3.swift

10 lines
250 B
Swift

func fibonacci() -> SequenceOf<UInt> {
return SequenceOf {() -> GeneratorOf<UInt> in
var window: (UInt, UInt, UInt) = (0, 0, 1)
return GeneratorOf {
window = (window.1, window.2, window.1 + window.2)
return window.0
}
}
}