我想要一個函數,接受序列Int
。下面是我想寫什麼:功能,接受類型的序列
func process(items: Sequence<Int>) {
items.forEach { ... }
}
Error: "Cannot specialize non-generic type 'Sequence'".
更正(我認爲):
func process<S: Sequence>(items: S) where S.Iterator.Element == Int {
items.forEach { ... }
}
相當多的繁瑣。
我知道序列協議有一個關聯的類型Iterator
它有Element
。但我不太清楚爲什麼我必須以這種奇怪的方式解決Int
需求。
什麼是使第一個版本不起作用,但第二個?錯誤是什麼意思?
func process(items:Int) - > Sequence {} –