誰でもこのバグに光を当てることができますか? プレイグラウンドは、引数 #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())
^