オプションの位置引数
CoddyのDartジャーニー「基礎」セクションの一部 — レッスン 72/94。
Dart でのオプションの位置パラメータ は、一部のパラメータがオプションの関数を作成できるようにします。パラメータを角括弧 [] 内に配置することで定義します。
オプションの位置パラメータを持つ関数を作成します:
void greet(String name, [String? greeting]) {
if (greeting != null) {
print('$greeting, $name!');
} else {
print('Hello, $name!');
}
}
void main() {
greet('Dart');
greet('Dart', 'Welcome');
}上記のコードを実行した後、出力は次のようになります:
Hello, Dart!
Welcome, Dart!複数の省略可能なパラメータを持つことができます:
int calculateTotal(int quantity, [int price = 10, int tax = 2]) {
return quantity * price + tax;
}
void main() {
print(calculateTotal(5));
print(calculateTotal(5, 20));
print(calculateTotal(5, 20, 5));
}上記のコードを実行すると、出力は以下のようになります:
52
102
105チャレンジ
初心者このチャレンジでは、Dart関数におけるオプションの位置パラメータの使用を練習します。オプションの位置パラメータを使用すると、一部のパラメータがオプションの関数を作成できます。
下記のgreet関数を完成させてください。この関数は必須のnameパラメータとオプションのtitleパラメータを受け取ります。titleが提供された場合、関数はtitleとnameの両方を含む挨拶を返します。titleが提供されていない場合、nameのみを使用します。
期待される出力:
Hello, John!
Hello, Dr. Smith!チートシート
Dart では、オプションの位置パラメータは、パラメータを角括弧 [] 内に置くことで定義されます:
void greet(String name, [String greeting]) {
if (greeting != null) {
print('$greeting, $name!');
} else {
print('Hello, $name!');
}
}デフォルト値を持つ複数のオプションのパラメータを持つことができます:
int calculateTotal(int quantity, [int price = 10, int tax = 2]) {
return quantity * price + tax;
}オプションのパラメータを持つ関数は、必要な引数のみを提供するか、オプションのものを含めて呼び出せます:
greet('Dart'); // Uses default behavior
greet('Dart', 'Welcome'); // Uses provided optional parameter自分で試してみよう
void main() {
// これらの変数はすでに定義されています
String person1 = "John";
String person2 = "Smith";
String title = "Dr.";
// 名前だけで greet 関数を呼び出す
print(greet(person1));
// 名前とタイトルで greet 関数を呼び出す
print(greet(person2, title));
}
// TODO: オプションのタイトルパラメータで greet 関数を完成させる
// タイトルパラメータはオプションであるべきです(角括弧 [] を使用)
String greet(String name) {
// タイトルが提供された場合、"Hello, {title} {name}!" を返す
// タイトルが提供されない場合、"Hello, {name}!" を返す
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。