【发布时间】:2014-10-02 07:32:30
【问题描述】:
有人能看出这个错误吗?操场坚持认为缺少参数 #2,但没有参数 #1!
代码的目的是计算等值值的运行次数,并返回由值及其计数组成的元组序列。我对这段代码进行了大量的工作,对其进行了优化和完善,直到我很确定它应该可以工作……但尽管它可以编译,但我不能按照预期的方式调用它。
我调用下面的代码得到的错误是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())
^
【问题讨论】:
标签: swift arguments ios8 sequence ios8-extension