次のように、割り当てるタプルの部分に名前を付けることもできます。
val (ID, Name) = (5, "Prashant")
assertEquals( 5, ID )
次のように使用することもできます。
val (ID, Name, Age) = functionThatReturnsATuple3
println("ID: " + ID + ", age: " + Age)
構文について最初に読んだとき、_x
それは素晴らしいと思い、よく使用しました。_1
それ以来、2か月前に書いたコードを見る必要があるので、基本的には使用をやめました。たとえば、の種類などを理解するために多くの時間を費やす必要があり_2
ます。id
後から考えると、よりもはるかに読みやすいことは明らかだと思いますpair._1
。
map
これは、次のような関数内でも使用できますfilter
。
val list: List[ (Int, String, Double) ] = ...
list map { case (id, name, time) => ... }
list filter { case (_, name, _) => name == "X" }
で、関数の本体で使用しない要素にsをfilter
使用できることに注意してください。_
これは、そのようなコードをざっと見て、構造のどの部分が使用されているか、および値がどのように構築されているかを確認するときに役立ちます。