extension Array where Element : Double {
public var asArrayOfFloat: [Float] {
return self.map { return Float(other:$0) } // compiler error
}
}
我收到编译错误抱怨Float(other:$0)
"参数标签'(其他:)'不匹配任何可用的重载。"但是,$0
是Double
,并且有一个Float.init(other:Double)
初始值设定项。问题是什么?
编辑:更改为Float($0)
会产生不同的编译错误:"模糊地使用' init'",并且有16位候选人。
答案 0 :(得分:3)
问题出在where Element : Double
...这需要重写为where Element == Double
(请注意使用==
代替:
),因为Double
不是协议而是类型。现在编译按照建议使用Float($0)
。
答案 1 :(得分:1)
摆脱SELECT
my_table.field1 as field1,
(EXISTS (SELECT 1 FROM another_table WHERE id = field1)) as does_exist
FROM my_table
标签。如果有field1
覆盖使用该标签(FWIW,我没有看到),那么它不是必需的标签。