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