任何人都可以看到这个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