Pet*_*ens 15

  • 您可以将a更改(B, C)(C, B)使用Tuple2.swap.
  • 然后将a A => (B, C)转换为a A => (C, B)可以使用.andThen(_.swap).

例如 :

scala> val a = (i: Int) => (s"$i", i.toDouble)
a: Int => (String, Double) = <function1>

scala> val b = a.andThen(_.swap)
b: Int => (Double, String) = <function1>

scala> b(5)
res1: (Double, String) = (5.0,5)
Run Code Online (Sandbox Code Playgroud)