在 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)
}