- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
func sumOf(_ numbers: Int...) -> Int {
var sum = 0
for number in numbers {
sum += number
}
return sum
}
func average(numbers: Int...) -> Double {
var sum = sumOf(numbers)
return Double(sum) / Double(numbers.count)
}
// ERROR at line 10, col 21: cannot convert value of type '[Int]' to expected argument type 'Int'
// var sum = sumOf(numbers)
Смысл жёстко типизированных Variadic arguments ускользает от меня.
Предлагается как синтаксический сахар на замену [Type] (экономия на скобках?), не работает в неожиданных местах без объявления войны.
Зато Эппл убрала в третьем Свифте раскрытие кортежа в качестве аргументов функций: https://github.com/apple/swift-evolution/blob/master/proposals/0029-remove-implicit-tuple-splat.md
Здесь играем, здесь не играем, здесь рыбу заворачивали