【发布时间】:2015-08-30 13:48:45
【问题描述】:
有没有一种惯用的方法来转换函数
val x: A => (B, C) = ...
到
val y: A => (C, B) = ...
【问题讨论】:
标签: scala functional-programming combinators
有没有一种惯用的方法来转换函数
val x: A => (B, C) = ...
到
val y: A => (C, B) = ...
【问题讨论】:
标签: scala functional-programming combinators
Tuple2.swap 将(B, C) 更改为(C, B)。.andThen(_.swap) 将A => (B, C) 转换为A => (C, B)。例如:
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)
【讨论】: