カスケード演算子(..)
1つのオブジェクトに対する呼び出しを連鎖させる
「カスケード演算子(..)」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。
繰り返し記述の問題
1つのオブジェクトを設定するとき、その名前を毎行繰り返し書くことがよくあります。Dartのcascadeを使えば、その繰り返しを省き、処理そのものに集中できます。
2つのドットを使う
cascade operatorは、ピリオドを2つ並べた記法です。チェーンを終わらせずに、オブジェクトのメソッドを呼び出したりフィールドを設定したりできます。
var b = StringBuffer()
..write('Hi')
..write('!');オブジェクトを返す
重要なのは、cascadeがメソッドの結果ではなく、常に元のオブジェクトを返すことです。そのため、好きなだけチェーンを続けられます。
cascadeでフィールドを設定する
メソッドを呼び出すだけでなく、cascadeを使ってassign fieldsもできます。各行で、同じ新しいオブジェクトの別の部分を設定できます。
var p = Paint()
..color = blue
..width = 4;cascadeを使わない場合
cascadeを使わない場合は、オブジェクトを変数に代入し、そのvariableを毎行書く必要があります。動作はしますが、記述が冗長になります。
var b = StringBuffer();
b.write('a');
b.write('b');cascadeを使った場合
cascadeを使うと、同じ設定を1つのすっきりしたexpressionにまとめられます。オブジェクト名は1度だけ書き、各処理をそこから続けます。✨
var b = StringBuffer()
..write('a')
..write('b');cascadeは式です
チェーン全体が1つのexpressionなので、そのまま変数に代入できます。設定済みのオブジェクトをすぐ使える状態で取得できます。
呼び出しと代入を混ぜる
1つのcascadeの中で、メソッド呼び出しとフィールド代入を自由にmixできます。Dartは各行を上から下へ、同じオブジェクトに適用します。
var list = []
..add(1)
..length;セミコロンに注意する
cascadeチェーンも1つの文なので、semicolonは最後に1つだけ置きます。チェーンの途中に置くと、チェーンが2つに分かれてしまいます。
cascadeが活躍する場面
cascadeは、buildersや設定用オブジェクトに最適です。たとえば、StringBufferや、いくつかの調整が必要なFlutterウィジェットで役立ちます。
cascadeとメソッドチェーンの違い
通常のチェーンでは、各メソッドが適切なオブジェクトを返す必要があります。一方、cascadeは常に元のオブジェクトを返すため、メソッドの戻り値を気にしません。
確認問題
cascade operatorは何を返しますか?
まとめ
cascade(..)を使うと、複数行にわたって1つのオブジェクトを設定し、そのオブジェクトを返せます。最後に置くセミコロンは1つだけです。設定がすっきりし、繰り返しも減ります。🎯
よくある質問
「カスケード演算子(..)」レッスンは無料ですか?
はい。「カスケード演算子(..)」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。
「カスケード演算子(..)」で何を学びますか?
1つのオブジェクトに対する呼び出しを連鎖させる ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Dart Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「カスケード演算子(..)」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDart Academyレッスンでコードを書いて実行できますか?
はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- カスケード演算子(..)
- Null短絡カスケード(?..)
- SpreadとNull対応Spread
- コレクションのifとfor