0
我只是遵循迭代器模式,你能告诉我什么是S.Iterator.Element
在下面的代码&什么意思是Int where Turn == S.Iterator.Element
?swift中的iterator.element是什么?
func computeScoreIncrement<S : Sequence>(_ pastTurnsReversed: S) -> Int where Turn == S.Iterator.Element {
var scoreIncrement: Int?
for turn in pastTurnsReversed {
if scoreIncrement == nil {
scoreIncrement = turn.matched! ? 1 : -1
break
}
}
//Turn is class name & nextScorer is protocol instance.
return (scoreIncrement ?? 0) + (nextScorer?.computeScoreIncrement(pastTurnsReversed) ?? 0)
}
谢谢!很好的解释。 – Amit