swift 如何推断 num1 和 num2 是整数?
How does swift infer that num1 and num2 are integers?
我对 Swift 如何推断 num1
和 num2
是整数感到困惑。该函数正在接受一个 Ints 数组,是的,但是 swift 现在 num1
和 num2
如何与 Ints 数组相关???
func mean4 (numbers: [ Int ] ) -> Double {
let sum = numbers.reduce(0, combine: { num1, num2 in
return num1 + num2 04: })
num2
因为 numbers
数组的类型是 [Int]
,它知道 num2
或下一个元素将是 Int
。
num1
因为你的起始值是0
,它推断出减少值,或者num1
也是一个Int
reduce
函数定义为:
extension SequenceType {
public func reduce<T>(initial: T, @noescape combine: (T, Self.Generator.Element) -> T) -> T
}
Self.Generator.Element指的是数组元素类型,为Int。这意味着 num2
是一个 Int。从您传递的初始值 0
可以推断出 T
也是一个 Int。
我对 Swift 如何推断 num1
和 num2
是整数感到困惑。该函数正在接受一个 Ints 数组,是的,但是 swift 现在 num1
和 num2
如何与 Ints 数组相关???
func mean4 (numbers: [ Int ] ) -> Double {
let sum = numbers.reduce(0, combine: { num1, num2 in
return num1 + num2 04: })
num2
因为 numbers
数组的类型是 [Int]
,它知道 num2
或下一个元素将是 Int
。
num1
因为你的起始值是0
,它推断出减少值,或者num1
也是一个Int
reduce
函数定义为:
extension SequenceType {
public func reduce<T>(initial: T, @noescape combine: (T, Self.Generator.Element) -> T) -> T
}
Self.Generator.Element指的是数组元素类型,为Int。这意味着 num2
是一个 Int。从您传递的初始值 0
可以推断出 T
也是一个 Int。