DevPrep

Все темы › Что выведет? Головоломки с собеседований

lazy.filter.map.prefix: сколько раз вызовется map?

Middle PRO

Задача

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

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store