0

Example:

var numbers: [Int] = [1, 2, 3, 6, 9]
let modifiedNumbers = numbers.lazy
     .filter { number in
         print("Even number filter")
         return number % 2 == 0
     }.map { number -> Int in
         print("Doubling the number")
         return number * 2
     }
print(modifiedNumbers[0])
print(modifiedNumbers.first)

The result is

Doubling the number
2
Even number filter
Even number filter
Doubling the number
Optional(4)

Why is the value obtained by subscript of Array different from the value obtained by .first when lazy is added

tongxing
  • 81
  • 1
  • 6
  • 2
    Looks like a duplicate of [Swift lazy subscript ignores filter](https://stackoverflow.com/q/54294501/1187415). Also related: https://stackoverflow.com/q/51917054/1187415 – Martin R Oct 25 '22 at 09:36

0 Answers0