0Pricing
Dart Academy · レッスン

Record:軽量なタプル

クラスを使わずに値をまとめる

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

レコードとは

レコードは、クラス全体を記述せずに、いくつかの値を手軽にまとめる方法です。小さく、すぐに使えるコンテナと考えてください。📦

タプルが重要な理由

2つまたは3つの値を一時的にまとめたいだけのことがあります。タプルなら、定型コードを書いたり新しい型に名前を付けたりせず、すぐにまとめられます。

レコードを作成する

カンマで区切った値を括弧で囲むと、レコードを作成できます。Dartがその場で形と型を判断してくれます。

var point = (3, 7);
print(point);

レコードには異なる型を格納できる

1つのレコードには、異なる型を自由に混在させられます。各要素はそれぞれの型を保持するため、intとStringを問題なく組み合わせられます。

var user = ('Ada', 36, true);
print(user);

レコード型の型注釈

レコードの型も括弧を使って明示できます。値の並びに対応して、カンマで区切った型を各位置に1つずつ指定します。

(int, String) pair = (1, 'one');
print(pair);

レコードは不変です

いったん作成したレコードのフィールドは変更できません。この不変性により、安全に共有でき、動作も理解しやすくなります。

レコードは値で比較される

2つのレコードは、同じ順序のフィールドが等しい場合に等しくなります。この値の等価性は自動的に提供され、追加のコードは必要ありません。

print((1, 2) == (1, 2));

2つの値を返す

レコードの代表的な利点です。関数はレコードを返すことで、1つだけでなく複数の値を一度に返せます。

(int, int) minMax() => (1, 9);
print(minMax());

クラスは不要

レコードが登場する前は、2つの値を返すためにクラスを定義するか、Listを使う必要がありました。レコードなら、短期間だけ使うグループ化のための定型的な手間を省けます。

レコードを使う場面

グループ化が一時的またはローカルなものである場合は、レコードを使います。長期間扱う意味のあるデータや振る舞いには、今でも通常のクラスが適しています。

変数にレコードを格納する

レコードは変数に格納し、ほかの値と同じように渡せます。Dartはその間ずっと完全な型安全性を維持します。

var coord = (10.0, 20.0);
print(coord);

クイックチェック

Dartのレコードについて、正しい説明はどれでしょうか。

復習:レコード

よくできました!🎉 レコードは軽量なタプルです。値を括弧で囲んで作成し、不変で、値によって比較され、クラスなしで複数の結果を返すのに適しています。

よくある質問

「Record:軽量なタプル」レッスンは無料ですか?

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

「Record:軽量なタプル」で何を学びますか?

クラスを使わずに値をまとめる ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Dart Academyを始めるのに経験は必要ですか?

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

「Record:軽量なタプル」レッスンにはどのくらい時間がかかりますか?

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

このDart Academyレッスンでコードを書いて実行できますか?

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

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

  1. Record:軽量なタプル
  2. 位置指定と名前付きのRecordフィールド
  3. パターンによる分解
  4. switchパターンとガード
← Dart Academyに戻る