Menu
Coddy logo textTech

פרמטרים מיקומיים אופציונליים

חלק מהיחידה יסודות במסלול ה-Dart של Coddy. שיעור 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
challenge icon

אתגר

מתחילים

באתגר הזה תתרגל שימוש בפרמטרים מיקומיים אופציונליים בפונקציות Dart. פרמטרים מיקומיים אופציונליים מאפשרים ליצור פונקציות שבהן חלק מהפרמטרים הם אופציונליים.

השלם את הפונקציה greet שלמטה, שמקבלת פרמטר name נדרש ופרמטר title אופציונלי. אם title סופק, הפונקציה צריכה להחזיר ברכה הכוללת גם את התואר וגם את השם. אם לא סופק title, עליה להשתמש בשם בלבד.

הפלט הצפוי:

Hello, John!
Hello, Dr. Smith!

נסו בעצמכם

void main() {
  // המשתנים האלה כבר הוגדרו עבורכם
  String person1 = "John";
  String person2 = "Smith";
  String title = "Dr.";
  
  // קראו לפונקציה greet עם השם בלבד
  print(greet(person1));
  
  // קראו לפונקציה greet עם השם ועם title
  print(greet(person2, title));
}

// TODO: השלימו את הפונקציה greet עם פרמטר title אופציונלי
// הפרמטר title צריך להיות אופציונלי (השתמשו בסוגריים מרובעים [])
String greet(String name) {
  // אם סופק title, החזירו "Hello, {title} {name}!"
  // אם לא סופק title, החזירו "Hello, {name}!"
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר Dart אונליין