在 Scala 2 中合并 2 个元组
Merge 2 tuples in Scala 2
有什么方法可以合并 Scala 2 中的两个元组,相当于 Scala 3 中的 ++
Tuple - Scala3
我可以这样做来连接 Scala 3 中的两个元组:
val tup1 = (1, 2)
val tup2 = ("a", 6)
val tup3 = tup1 ++ tup2
我如何在 Scala 2 中执行此操作
您可以向 Tuple2 添加扩展方法
implicit class Tuple2Ops[A0, A1](val tup: Tuple2[A0, A1]) extends AnyVal {
def ++ [A2, A3](tup: Tuple2[A2, A3]): Tuple4[A0, A1, A2, A3] =
(this.tup._1, this.tup._2, tup._1, tup._2)
}
(1, 2) ++ (3, 4) // (1, 2, 3, 4)
您可以使用像 Shapeless:
这样的通用编程库来做到这一点
import shapeless.syntax.std.tuple._
object Main extends App {
val tup = (1, "Two") ++ (3.0, "4", true)
println(tup) //(1,Two,3.0,4,true)
}
有什么方法可以合并 Scala 2 中的两个元组,相当于 Scala 3 中的 ++
Tuple - Scala3
我可以这样做来连接 Scala 3 中的两个元组:
val tup1 = (1, 2)
val tup2 = ("a", 6)
val tup3 = tup1 ++ tup2
我如何在 Scala 2 中执行此操作
您可以向 Tuple2 添加扩展方法
implicit class Tuple2Ops[A0, A1](val tup: Tuple2[A0, A1]) extends AnyVal {
def ++ [A2, A3](tup: Tuple2[A2, A3]): Tuple4[A0, A1, A2, A3] =
(this.tup._1, this.tup._2, tup._1, tup._2)
}
(1, 2) ++ (3, 4) // (1, 2, 3, 4)
您可以使用像 Shapeless:
这样的通用编程库来做到这一点import shapeless.syntax.std.tuple._
object Main extends App {
val tup = (1, "Two") ++ (3.0, "4", true)
println(tup) //(1,Two,3.0,4,true)
}