Menu
Coddy logo textTech

שימוש ב-Enums במשתנים

חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-Dart של Coddy. שיעור 60 מתוך 65.

עכשיו, כשאתם יודעים להגדיר enums, בואו נלמד איך להשתמש בהם בפועל בתוכניות שלכם. לאחר שיצרתם enum, תוכלו להכריז על משתנים מסוג enum זה ולהקצות להם ערכים מסוימים.

כדי להצהיר על משתנה מסוג enum, יש לציין את שם ה-enum ואחריו את שם המשתנה, בדיוק כמו בכל סוג נתונים אחר:

Weather todayWeather = Weather.sunny;

שימו לב לאופן שבו ניגשים לערכי enum באמצעות סימון נקודה: Weather.sunny. כך אומרים ל-Dart שרוצים את הערך sunny מתוך ה-enum Weather.

אפשר לשנות את הערך של המשתנה לכל ערך תקף אחר של enum:

todayWeather = Weather.rainy;
todayWeather = Weather.cloudy;

היתרון בשימוש במשתני enum הוא ש-Dart מבטיחה שאפשר להקצות להם רק ערכי enum תקפים. אי אפשר להקצות בטעות את "stormy" או ערך לא תקף אחר למשתנה Weather, וכך נמנעות שגיאות תכנות נפוצות והקוד שלך נעשה אמין יותר.

challenge icon

אתגר

קל

צרו תוכנית שמנהלת מערכת פשוטה למעקב אחר משימות באמצעות מונים ומשתנים. עליכם:

  1. להגדיר מונה בשם TaskStatus עם הערכים הבאים: todo, inProgress, testing, completed ו־cancelled
  2. ליצור משתנה בשם task1Status מסוג TaskStatus ולהקצות לו את הערך TaskStatus.todo
  3. ליצור משתנה בשם task2Status מסוג TaskStatus ולהקצות לו את הערך TaskStatus.inProgress
  4. ליצור משתנה בשם task3Status מסוג TaskStatus ולהקצות לו את הערך TaskStatus.completed
  5. להדפיס את המצב ההתחלתי של כל המשימות בפורמט המדויק: Task 1 status: TaskStatus.todo
  6. להדפיס את המצב ההתחלתי של משימה 2 בפורמט המדויק: Task 2 status: TaskStatus.inProgress
  7. להדפיס את המצב ההתחלתי של משימה 3 בפורמט המדויק: Task 3 status: TaskStatus.completed
  8. לעדכן את task1Status ל־TaskStatus.inProgress
  9. לעדכן את task2Status ל־TaskStatus.testing
  10. להדפיס את המצב המעודכן של משימה 1 בפורמט המדויק: Updated Task 1 status: TaskStatus.inProgress
  11. להדפיס את המצב המעודכן של משימה 2 בפורמט המדויק: Updated Task 2 status: TaskStatus.testing
  12. להדפיס את המצב הסופי של משימה 3 בפורמט המדויק: Final Task 3 status: TaskStatus.completed

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

נסו בעצמכם

import 'dart:io';

// TODO: הגדירו כאן את ה-enum ‏TaskStatus

void main() {
  // TODO: כתבו כאן את הקוד שלכם
  // 1. צרו משתנה בשם task1Status והקצו לו את TaskStatus.todo
  // 2. צרו משתנה בשם task2Status והקצו לו את TaskStatus.inProgress  
  // 3. צרו משתנה בשם task3Status והקצו לו את TaskStatus.completed
  // 4. הדפיסו את המצב ההתחלתי של כל המשימות
  // 5. עדכנו את מצבי המשימות כנדרש
  // 6. הדפיסו את המצבים המעודכנים והסופיים
  
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה לוגיקה וזרימת התוכנית

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