0Pricing
Dart Academy · レッスン

コレクションのifとfor

条件やループでリストを作る

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

リテラル内のロジック

リストの内容が条件によって変わることがあります。Dartではコレクションliteralの中にifを直接書けるため、1か所で構築できます。

Collection if

collection ifは、条件がtrueのときだけ要素を追加します。条件を満たさなければ、その場所からは何も追加されません。

var nav = ['Home', if (loggedIn) 'Profile'];

ifとelse

elseを追加して、2つの要素から選択できます。2つのうち常に一方だけがコレクションに入り、両方入ることはありません。

var tags = [if (vip) 'Gold' else 'Standard'];

波かっこは不要

文としてのifとは異なり、collection ifでは波かっこもセミコロンも必要ありません。ブロックを実行するのではなく、要素を生成します。

Collection for

collection forは、リテラル内でループしながら要素を生成します。ループするたびに、ループ本体が生成したものが追加されます。

var doubled = [for (var n in nums) n * 2];

mapのようにインラインで使う

すでにリテラル内にいる場合、collection forはmap呼び出しの代わりによく使われます。単純な変換なら、より直接的に読めます。

ifとforを組み合わせる

両者をcombineできます。forでループし、その後ifで絞り込みます。これらを組み合わせると、表現力のある1つのリテラルで形を整えたリストを作れます。

var evens = [for (var n in nums) if (n.isEven) n];

リスト以外でも使える

コレクションのifとforは、setやmapのリテラルでも使えます。同じ分かりやすい構文で、3種類すべてのコレクションを構築できます。

var m = {for (var u in users) u.id: u.name};

Spreadと組み合わせる

これらはspread演算子とも組み合わせられます。一部の要素を直接記述し、別のコレクションを展開し、条件分岐も加えるといったことを、1つのリテラルで行えます。

var x = [...base, if (extra) 'plus'];

後から構築するより優れている理由

最初にコレクションを構築しておくと、コードがdeclarativeになります。空のリストを作り、別々の文で要素を追加する必要がありません。

UIリストに最適

これはFlutterで特に役立ちます。childrenリストでは、条件やデータに応じてウィジェットを表示することがよくあります。リテラルをすっきり読みやすく保てます。🧩

確認問題

collection ifで条件がfalse、かつelseがない場合はどうなりますか?

まとめ

コレクションのifは条件に応じて要素を追加し、コレクションのforはリスト、set、mapのリテラル内でループしながら要素を生成します。🎯

よくある質問

「コレクションのifとfor」レッスンは無料ですか?

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

「コレクションのifとfor」で何を学びますか?

条件やループでリストを作る ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「コレクションのifとfor」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. カスケード演算子(..)
  2. Null短絡カスケード(?..)
  3. SpreadとNull対応Spread
  4. コレクションのifとfor
← Dart Academyに戻る