0Pricing
Dart Academy · レッスン

位置指定パラメーターと名前付きパラメーター

順序指定またはラベル付きの引数で関数を呼び出す

「位置指定パラメーターと名前付きパラメーター」は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フィードバックを取得できます。ローカル設定は不要です。

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

  1. 関数の宣言と戻り値の型
  2. 位置指定パラメーターと名前付きパラメーター
  3. デフォルト値とrequired
  4. 第一級オブジェクトとしての関数
← Dart Academyに戻る