Использование замыкающего замыкания в цикле for-in
я используюmap()
Функция массива в цикле for-in выглядит так:
let numbers = [2, 4, 6, 8, 10]
for doubled in numbers.map { $0 * 2 } // compile error
{
print(doubled)
}
что приводит к ошибке компиляции:
Использование неразрешенного идентификатора 'doubled'
Однако, если я поставлю скобки дляmap()
функция работает нормально. то есть
for doubled in numbers.map ({ $0 * 2 })
{
print(doubled)
}
Мой вопрос: почему бы компилятору не дифференцировать блок кода конечной функции и цикла, предполагая, что это вызывает проблему?