我正在执行GuideTour Playground for Swift中的任务 并且有一个总和函数:
func sumOf(numbers: Int...) -> Int {
var sum = 0
for number in numbers {
sum += number
}
return sum
}
之后有一项任务: 编写一个计算其参数平均值的函数。
我想写像:
func avg(numbers: Int...) -> Double {
return Double(sumOf(numbers)) / Double(numbers.count)
}
但是XCode显示警告:'[Int]'无法转换为'Int'
有人知道如何进行转换吗?
PS:我知道我可以使用Array-parameter获得解决方案。我只对'Int ...'的解决方案感兴趣。这只是学术兴趣。
答案 0 :(得分:0)
使用reduce
func avg(numbers: [Int]) -> Double {
return numbers.reduce(0) { $0 + $1 } / Double(numbers.count)
}