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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Record:軽量なタプル
- 位置指定と名前付きのRecordフィールド
- パターンによる分解
- switchパターンとガード