1
私はジェネリックにしようとしているいくつかのコードを持っています。シーケンス拡張のジェネリック
func randomInt() -> Int { return Int(arc4random_uniform(42)) }
let closures = [randomInt, randomInt, randomInt, randomInt]
let result = closures.map { $0() }
print(result)
は本質的に、私はタイプT
のいくつかの値を返すクロージャの配列を、取り、すべての結果をタイプ[T]
の配列を返すようにしたいです。
これは私の試みです:T
が定義されていないよう
extension Sequence where Element ==() -> T
{
func callAll() -> [T]
{
return self.map { $0() }
}
}
しかし、これは明らかに、動作しません。この拡張機能を書くにはどうすればいいですか?