ͷྻܕ 6 struct Object { var isReady: Bool var value: Int } let array: [Object] = ... let result = array .filter { $0.isReady } .map { $0.value } .prefix(3) for element in result { // ... }
result = array .filter { $0.isReady } .map { $0.value } .prefix(3) for element in result { // ... } Swift ͷྻܕ 8 var result: [Int] = [] for item in array { if item.isReady { result.append(item.value) } if result.count == 3 { break } } for element in result { // ... } ໋ྩతʹॻ͘߹
9 ཁૉʹର͢Δૢ࡞ΛԆͤ͞Δ let result = array .lazy .filter { $0.isReady } .map { $0.value } .prefix(3) for element in result { // ... } ཁૉɹɹ 10,000 ཁૉ࠷େ 10,000 ཁૉ࠷େ 10,000 ϧʔϓճ 3 var result: [Int] = [] for item in array { if item.isReady { result.append(item.value) } if result.count == 3 { break } } for element in result { // ... }
13 ঢ়ଶΛอ࣋͠ͳ͕ΒཁૉΛ࡞Δ // 0, 1, 1, 2, 3, 5, 8, 13, 21 let fibonacci = sequence(state: (0, 1)) { state in let current = state.0 state = (state.1, state.0 + state.1) return current } .prefix(9)