lazy.filter.map.prefix: сколько раз вызовется map?
Задача
var calls = 0
let result = (1...9).lazy
.filter { $0 % 2 == 1 }
.map { value -> Int in
calls += 1
return value * value
}
.prefix(3)
print(Array(result), calls)
Что напечатает? А если убрать .lazy?
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep