Avatar
func f3(_ tpl: ([Int], [String]), _ g: ((Int) -> Foo, (String) -> Bar) { ... }
10:08 AM
タプルの map と関数のシグネチャはまったく関係ない。
10:08 AM
タプルの map はそれを使う式に閉じた話。
10:09 AM
f3 は 2 要素タプルを受け取ってて、それと map には何の関係もない。
10:09 AM
それぞれの要素にオペレーションを指定したいなら、オペレーションも二つ渡さないといけない。
10:09 AM
それを一つにまとめることをしたいなら、さっき書いた↓になる。 func f3<T..., U...>(_ tpl: ([T]...), _ g: ((T) -> U)...) { let fst: (U...) = tpl.map(g) }
10:10 AM
ああ、これでもおかしいか。
10:10 AM
一つにまとめられてるわけじゃないな。
10:11 AM
うーん、そうか。