Slide 33
Slide 33 text
ॳظͷཁΒͳ͍
Sequence#reduce ࡞ͬͯΈΑ͏
extension Sequence {
func reduce(_ nextPartialResult: (_ result: Iterator.Element,
_ next: Iterator.Element)
-> Iterator.Element)
-> Iterator.Element? {
var iterator = self.makeIterator()
guard var result = iterator.next() else { return nil }
while let next = iterator.next() {
result = nextPartialResult(result, next)
}
return result
}
}
[1, 2, 3, 4, 5].reduce(*) // 120