任何人都可以看到這個bug的亮點?操場上堅持認爲#2缺失,但沒有爭論#1!Swift:在調用SequenceOf的無理擴展時缺少參數
代碼的目的是計算可等值的運行次數,並返回由值和它們的計數組成的元組序列。我已經廣泛地研究了這些代碼,對它進行了優化並對其進行了改進,直到我確信它應該能夠工作......但儘管它編譯完成,但我無法按照預期的方式調用它。
下面我從調用代碼得到的錯誤是missing argument for parameter #2 in call
extension SequenceOf {
func CountRuns<T: Equatable>() -> SequenceOf<(T, Int)> {
return SequenceOf<(T, Int)>([])
return SequenceOf<(T, Int)> {() -> GeneratorOf<(T, Int)> in
var generator = self.generate()
var previousValue: T?
var start = true
return GeneratorOf<(T, Int)> {() -> (T, Int)? in
var count = 1
var retValue: (T, Int)?
while(true) {
var value = generator.next() as T?
if start {
previousValue = value
start = false
} else if value != nil && value! == previousValue! {
count++
} else {
if previousValue != nil {
retValue = (previousValue!, count)
}
previousValue = value
break
}
}
return retValue
}
}
}
}
println(SequenceOf(y).CountRuns())
Playground execution failed: <EXPR>:327:23: error: missing argument for parameter #2 in call
println(SequenceOf(y).CountRuns())
^
嗯...那有效。不是我想要的,但我想做鏈接。 – 2014-10-02 13:13:17