2
我碰到這篇文章時正在對Xcode 9 beta 2 Swift 4進行一些練習(https://www.uraimo.com/2016/01/06/10-Swift-One-Liners-To-Impress-Your-Friends/)產品編號時發生錯誤。 6:Swift 4:在實例化關聯類型數組時,無法調用非函數類型'[Self.Element.Type]'的值
extension Sequence{
typealias Element = Self.Iterator.Element
func partitionBy(fu: (Element)->Bool)->([Element],[Element]){
var first=[Element]()
var second=[Element]()
for el in self {
if fu(el) {
first.append(el)
}else{
second.append(el)
}
}
return (first,second)
}
}
的Xcode 9在以下行引發錯誤:
var first=[Element]()
var second=[Element]()
完整的錯誤下面是:
error: Swift-Playground.playground:6:29: error: cannot call value of non-function type '[Self.Element.Type]'
var second=[Element]()
即使刪除了typealias和錯誤將一直持續使用完整的Self.Iterator.Element
類型。
此代碼在Swift 3上完美工作。我沒有理由認爲它不應該在Swift 4上工作。有人可以幫我解決Swift 4在處理相關類型方面的變化嗎?如果是的話,什麼是替代實例化數組。