English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
リストと同様に、タプルも変更不可ですが、リストとは異なり、タプルは異なる型の要素を含むことができます。
タプルの値は、単一の値を丸括弧で囲むことで構成されます。例えば:
val t = (1, 3。14「Fred」)
上記の例では、タプルに3つの要素が定義されており、対応する型は[Int, Double, java.lang.String]です。
また以下のように定義することもできます:
val t = new Tuple3(1, 3。14「Fred」)
タプルの実際の型はその要素の型に依存します。例えば、(99「w3codebox」) は Tuple2[Int, String]。 ('u', 'r',「the」, 1, 4「me」) は Tuple6[Char, Char, String, Int, Int, String]。
現在のScalaでは、タプルの最大長さは 22もっと長い場合は、集合または拡張タプルを使用できます。
タプルの要素は数字のインデックスでアクセスできます。以下のタプルのように:
val t = (4,3,2,1)
以下を使用できます t._1 第1要素にアクセスする方法は、t._2 第2要素にアクセスする方法は以下の通りです:
object Test { def main(args: Array[String]) { val t = (4,3,2,1) val sum = t._1 + t._2 + t._3 + t._4 println( "要素の合計が: " + sum ) } }
以下のコードを実行すると、出力結果が:
$ scalac Test.scala $ scala Test 要素の合計が: 10
以下を使用できます Tuple.productIterator() タプルのすべての要素を迭代して出力する方法を示します:
object Test { def main(args: Array[String]) { val t = (4,3,2,1) t.productIterator.foreach{ i =>println("値= " + i )} } }
以下のコードを実行すると、出力結果が:
$ scalac Test.scala $ scala Test 値= 4 値= 3 値= 2 値= 1
以下を使用できます Tuple.toString() タプルのすべての要素を1つの文字列に結合する方法を示します。以下の例です:
object Test { def main(args: Array[String]) { val t = new Tuple3(1, "hello", Console) println("接続後の文字列は: " + t.toString() ) } }
以下のコードを実行すると、出力結果が:
$ scalac Test.scala $ scala Test 接続後の文字列は: (1,hello,scala.Console$@4dd8dc3)
以下を使用できます Tuple.swap タプルの要素を交換する方法を示します。以下の例です:
object Test { def main(args: Array[String]) { val t = new Tuple2("www.google.com", "ja.oldtoolbag.com") println("交換後のタプル: " + t.swap ) } }
以下のコードを実行すると、出力結果が:
$ scalac Test.scala $ scala Test 交換後のタプル: (ja.oldtoolbag.com,www.google.com)