位置指定パラメーターと名前付きパラメーター
順序指定またはラベル付きの引数で関数を呼び出す
「位置指定パラメーターと名前付きパラメーター」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。
引数を渡す2つの方法
Dartには、パラメーターの指定方法としてpositionalとnamedの2種類があります。適切な方法を選ぶと、関数呼び出しが明確になり、誤用もしにくくなります。
位置指定パラメーター
Positionalパラメーターは順序で対応付けられます。1番目の値が1番目の位置に、2番目の値が2番目の位置に入り、その後も同様です。
int sub(int a, int b) {
return a - b;
}
sub(10, 3); // 7順序はとても重要です
positional引数では、順序を入れ替えると意味が変わります。ここではorderによって各値の役割が決まるため、注意が必要です。
sub(3, 10); // -7, not 7名前付きパラメーター
パラメーターを中かっこで囲むとnamedにできます。呼び出し側はラベルで値を渡すため、順序はまったく関係なくなります。
void move({int x, int y}) {
// ...
}ラベルを付けて呼び出す
名前付きパラメーターを持つ関数を呼び出すときは、各labelの後ろにコロンを書きます。呼び出しが自然な文章のように読めるようになります。
move(y: 5, x: 2);名前付き引数は自己説明的です
ラベルを付けると、分かりにくい呼び出しが読みやすくなります。各値の意味がすぐに分かるため、named引数はclarity(明確さ)を高めるのに適しています。📖
drawBox(width: 100, height: 50);名前付きはデフォルトで省略可能です
通常の名前付きパラメーターはoptionalなので、呼び出し側で省略できます。特に指定しなければ、Dartは省略された値にnullを設定します。
void config({String? theme}) {}
config(); // theme is null省略可能な位置指定パラメーター
角かっこを使うと、位置指定パラメーターもoptionalにできます。末尾のパラメーターは省略でき、省略時はnullになります。
String tag(String name, [String? id]) {
return id == null ? name : "$name#$id";
}両方の形式を組み合わせる
必須のpositionalパラメーターを先に置き、その後ろに中かっこで名前付きパラメーターを追加できます。必須の値を先に指定し、残りは柔軟に扱えます。
void log(String msg, {bool loud = false}) {}使い分けるタイミング
明らかな入力が1つか2つならpositionalを使います。値が多い場合や、ラベルが必要な真偽値を扱う場合は、名前付きパラメーターを選びます。
真偽値の落とし穴を避ける
呼び出しでtrueだけを渡しても、読者には何を意味するのか分かりません。animate: trueのようなnamedパラメーターなら、意図が明確になります。✅
show(animate: true);クイックチェック
パラメーターの指定方法について、理解度を確認してみましょう。
まとめ
これで、短い呼び出しにはpositionalを、読みやすさが必要な呼び出しにはnamedを選び、両方を組み合わせることもできるようになりました。明確な呼び出しは、バグの削減につながります。🎯
よくある質問
「位置指定パラメーターと名前付きパラメーター」レッスンは無料ですか?
はい。「位置指定パラメーターと名前付きパラメーター」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。
「位置指定パラメーターと名前付きパラメーター」で何を学びますか?
順序指定またはラベル付きの引数で関数を呼び出す ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Dart Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「位置指定パラメーターと名前付きパラメーター」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDart Academyレッスンでコードを書いて実行できますか?
はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 関数の宣言と戻り値の型
- 位置指定パラメーターと名前付きパラメーター
- デフォルト値とrequired
- 第一級オブジェクトとしての関数