x并y从元组中提取:
val (x, y) = (1337, 42) // x:整数= 1337 // y:整数= 42
要忽略值,请使用_:
val (_, y: Int) = (1337, 42) // y:整数= 42
要打开提取器的包装:
val myTuple = (1337, 42) myTuple._1 // res0:整数= 1337 myTuple._2 // res1:整数= 42
请注意,元组的最大长度为22,因此._1直通._22将起作用(假定元组至少为该大小)。
元组提取器可用于为文字函数提供符号自变量:
val persons = List("A." -> "Lovelace", "G." -> "Hopper") val names = List("Lovelace, A.", "Hopper, G.") assert { names == (persons map { name => s"${name._2}, ${name._1}" }) } assert { names == (persons map { case (given, surname) => s"$surname, $given" }) }