我有一个简单的点积函数:
func dotProduct(vectorA: [Float], vectorB: [Float]) -> [Float] {
return map(zip(vectorA, vectorB), *)
}
然而,它引发了以下错误
Ambiguous reference to member '*'
有什么想法吗?似乎vectorA和vectorB的类型都明确定义为[Float]。
答案 0 :(得分:2)
如果在压缩列表上调用map
,则有效:
func dotProduct(vectorA: [Float], vectorB: [Float]) -> [Float] {
return zip(vectorA, vectorB).map(*)
}
似乎斯威夫特的推断有点缺乏。