אופרטור תנאי
חלק מהיחידה יסודות במסלול ה-Dart של Coddy. שיעור 30 מתוך 94.
האופרטור התנאי (?:) מספק דרך תמציתית לכתוב משפטי if-else בשורה אחת:
condition ? expressionIfTrue : expressionIfFalseדוגמה:
void main() {
int age = 20;
String status = age >= 18 ? 'Adult' : 'Minor';
print(status);
}פלט: Adult
הוא פועל עם סוגי נתונים שונים ומתאים במיוחד להשמות מותנות פשוטות.
אתגר
קלצרו תוכנית שמשתמשת באופרטור התנאי (?:) כדי לקבוע אם לשחקן יש מספיק נקודות כדי לעלות רמה במשחק:
- הכריזו על משתנה שלם
playerScoreעם הערך 750 - הכריזו על משתנה שלם
levelUpThresholdעם הערך 500 - השתמשו באופרטור התנאי כדי ליצור הודעה מסוג מחרוזת שאומרת אחד מהבאים:
- "Level up!" אם הניקוד של השחקן גדול מהסף או שווה לו
- "Keep trying!" אם הניקוד של השחקן קטן מהסף
- שמרו את ההודעה במשתנה מחרוזת בשם
message - הדפיסו את הניקוד של השחקן בתבנית:
Player score: 750 - הדפיסו את ההודעה
- עדכנו את הניקוד של השחקן ל־450
- השתמשו שוב באופרטור התנאי כדי לעדכן את ההודעה בהתאם לניקוד החדש
- הדפיסו את הניקוד המעודכן של השחקן בתבנית:
Player score: 450 - הדפיסו את ההודעה המעודכנת
הפלט שלכם צריך להתאים בדיוק לתבנית הצפויה.
נסו בעצמכם
void main() {
// הכריזו כאן על המשתנים שלכם
// החליפו כל אפס בערך המבוקש במשימה
int playerScore = 0;
int levelUpThreshold = 0;
// השתמשו באופרטור התנאי כדי ליצור את ההודעה הראשונה
// החליפו את שתי המחרוזות הריקות בהודעות המבוקשות במשימה
String message = playerScore >= levelUpThreshold ? "" : "";
// הדפיסו את הניקוד של השחקן ואת ההודעה
print("Player score: $playerScore");
print(message);
// עדכנו את הניקוד של השחקן
// החליפו את האפס בניקוד המעודכן המבוקש במשימה
playerScore = 0;
// השתמשו באופרטור התנאי כדי לעדכן את ההודעה
message = playerScore >= levelUpThreshold ? "" : "";
// הדפיסו את הניקוד המעודכן של השחקן ואת ההודעה
print("Player score: $playerScore");
print(message);
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7עבודה עם מחרוזות
שרשור מחרוזותאינטרפולציה של מחרוזותמחרוזות מרובות שורותמאפייני מחרוזותשיטות בסיסיות למחרוזות10אוספים - יסודות המפות
מהן מפות?יצירת מפהגישה לערכים לפי מפתחזוגות מפתח-ערךקבלת גודל המפהקבלת המפתחותקבלת הערכיםבדיקה אם מפתח קיים2משתנים וטיפוסי נתונים בסיסיים
מהם משתנים?מחרוזותמספרים שלמים (int)מספרים מסוג double (double)ערכים בוליאניים (bool)הסקת טיפוס באמצעות 'var'משתנים סופייםמשתנים קבועיםמוסכמות למתן שמותבטיחות בסיסית מול nullסיכום – הכרזה על משתנים8זרימת בקרה – לולאות
לולאת 'for'לולאת 'while'לולאת 'do-while'שימוש ב-'break' בלולאותשימוש ב-'continue' בלולאותסיכום – חזרה על קוד3אופרטורים חלק 1
אופרטורים אריתמטייםחלוקת מספרים שלמיםאופרטור מודולוהגדלה והקטנהקיצורי השמהסיכום - חישובים פשוטים6זרימת בקרה - קבלת החלטות
הוראת 'if'הוראת 'else'הוראת 'else if'חזרה - החלטות פשוטותהוראות 'if' מקוננותהוראת 'switch'9אוספים - יסודות הרשימות
מהן רשימות?יצירת רשימהגישה לפי אינדקסקבלת אורך הרשימההוספת איבריםהסרת איבריםבדיקה אם הרשימה ריקהמעבר על רשימהתרגלו בעצמכם: קומפיילר Dart אונליין