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 { ... }
}
かなりより冗長。
私は、シーケンスプロトコルにの関連タイプがあり、Element
であることを知っています。しかし、どうしてこのような奇妙な方法でInt
の要件を解決しなければならないのかよく分かりません。
最初のバージョンは動作しませんが、2番目のバージョンは何になるのでしょうか?エラーはどういう意味ですか?
func process(items:Int) - >シーケンス {} –