为什么lazy
在这里使用?Swift中的懒惰
extension SequenceType {
func mapSome<U>(transform: Generator.Element -> U?) -> [U] {
var result: [U] = []
for case let x? in lazy(self).map(transform) {
result.append(x)
}
return result
}
}
这个扩展需要一个转换函数返回一个可选的,并且只返回值的数组,并没有转化为无
为什么不直接使用self.map(transform)
?这里需要懒惰吗?
顺便说一句,'flatMap (transform:Generator.Element - > U?) - > [U]'现在可以在Swift 2标准库中使用了:) – jtbandes