問題は本当に簡単です。これにより、セグメンテーション違反が発生します。
extension Sequence {
func parallelForEach<T, R>(_ f: @escaping (T) -> R, completion: @escaping ([R]) -> ()) where Iterator.Element == T {
}
}
明らかに、プロトコル拡張の書き方がわかりません。誰か助けてください?:)
問題は本当に簡単です。これにより、セグメンテーション違反が発生します。
extension Sequence {
func parallelForEach<T, R>(_ f: @escaping (T) -> R, completion: @escaping ([R]) -> ()) where Iterator.Element == T {
}
}
明らかに、プロトコル拡張の書き方がわかりません。誰か助けてください?:)
エラーは、ジェネリック型 T が必要であると考えていたことです。それは Iterator.Element であり、幸いにも Sequence プロトコル内の型です。
extension Sequence {
func parallelForEach<T, R>(_ f: @escaping (Iterator.Element) -> R, completion: @escaping ([R]) -> ()) {
}
}
コンパイラがそれを好まなかった理由を説明できる人への称賛。明らかに非効率的ですが、なぜ間違っているのでしょうか?