0Pricing
Scala for Backend Engineering & Functional Programming · レッスン

タプルを作成する

関連する値をまとめます。

「タプルを作成する」はCoddyKit上の無料Scala for Backend Engineering & Functional Programmingレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはScala for Backend Engineering & Functional Programming学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Scala for Backend Engineering & Functional Programmingコースには全4レッスンが含まれています。

タプルとは

タプルは、値の型が異なる場合でも、固定個数の値をまとめて扱うものです。

すべての要素が同じ型であるリストとは異なり、タプルにはInt、String、Booleanを一度に格納できます。

関連する少数の値を返したりまとめたりする際に、クラス全体を定義せずに済むため、タプルは最適です。

最初のタプルを作成する

タプルは、カンマで区切った値を丸括弧で囲んで作成します。

ここでは名前と年齢を組み合わせています。Scalaが型を自動的に推論します。

val person = ("Alice", 30)
println(person)

自由に型を混在させる

タプルの優れた特徴の1つは、1つの値の中で型を混在させられることです。

このタプルにはString、Int、Booleanがまとめて格納されています。各要素はそれぞれの型を保持します。

val record = ("Bob", 42, true)
println(record)

タプルの型

タプルの型には、すべての要素の型が順番どおりに示されます。

StringとIntの組は(String, Int)型です。明確にしたい場合は型を明示的に書けます。

val pair: (String, Int) = ("Cara", 25)
println(pair)

ペアはよく使われる

要素がちょうど2つのタプルはペアと呼ばれ、Scalaのさまざまな場面で使われます。

たとえば、マップはキーと値のペアから構築されます。まずペアを学ぶと、その後の言語機能も理解しやすくなります。

val score = ("Math", 95)
println(score)

ペアの矢印構文

2要素タプルには、Scalaが便利な矢印構文を提供しています。

key -> valueと書くことは、(key, value)とまったく同じです。特にマップを構築するときに読みやすくなります。

val entry = "name" -> "Dana"
println(entry)

より大きなタプル

タプルには2つや3つを超える値も格納できます。

Scalaは最大22要素のタプルをサポートしていますが、小さなタプルのほうが読みやすいでしょう。多くのフィールドが必要な場合は、通常はcase classのほうが明確です。

val data = (1, 2, 3, 4, 5)
println(data)

要素が1つの場合の注意

実用的な1要素タプルはありません。1つの値を丸括弧で囲んでも、その値自体が返されるだけです。

したがって(5)はタプルではなく、単に数値5です。タプルは実際には2要素から始まります。

val notATuple = (5)
println(notATuple)

タプルは不変

いったん作成したタプルの値は変化しません。

この不変性により、タプルは安全に共有でき、動作も理解しやすくなります。別のタプルが必要な場合は、新しいものを作成します。

val a = (1, "one")
val b = (2, "two")
println(a)
println(b)

複数の値を返す

タプルの一般的な用途は、関数から複数の値を一度に返すことです。

ここでは関数が合計と積の両方を1つのタプルとして返しているため、別のクラスを定義する必要がありません。

def stats(a: Int, b: Int) = (a + b, a * b)
println(stats(3, 4))

タプルの入れ子

タプルも単なる値なので、別のタプルの中に配置できます。

これにより、関連するサブペアをまとめられます。コードを読みやすく保つため、入れ子は浅くしてください。

val nested = (("x", 1), ("y", 2))
println(nested)

確認問題

タプルの作成について学んだことを確認しましょう。

まとめ

タプルは、型が異なる可能性のある固定個数の値を、丸括弧の中にまとめるものだと学びました。

ペアではkey -> value構文も使えます。タプルは不変で、複数の値を返すのに適しています。次は、それらの値を取り出す方法を学びます。

よくある質問

「タプルを作成する」レッスンは無料ですか?

はい。「タプルを作成する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Scala for Backend Engineering & Functional Programmingコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Scala for Backend Engineering & Functional Programmingコースには全4レッスンが含まれています。

「タプルを作成する」で何を学びますか?

関連する値をまとめます。 ブラウザで直接実行するハンズオンコードでScala for Backend Engineering & Functional Programmingを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Scala for Backend Engineering & Functional Programmingを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのScala for Backend Engineering & Functional Programmingは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「タプルを作成する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このScala for Backend Engineering & Functional Programmingレッスンでコードを書いて実行できますか?

はい。すべてのScala for Backend Engineering & Functional Programmingレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. タプルを作成する
  2. タプルを分解する
  3. 範囲を構築する
  4. ループで範囲を使う
← Scala for Backend Engineering & Functional Programmingに戻る