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