struct MyStruct {
var count = 0
mutating func add(amount: Int) {
count += amount
}
}
var myStruct = MyStruct()
[1, 2, 3, 4].forEach(myStruct.add)
// Partial application of 'mutating' method is not allowed
Почему не используется forEach
, как это допустимо для методов мутирования? Я знаю, что я мог бы сделать
for number in [1, 2, 3, 4] {
myStruct.add(number)
}
или
[1, 2, 3, 4].forEach { myStruct.add($0) }
но не так чисты, как
[1, 2, 3, 4].forEach(myStruct.add)