Menu
Coddy logo textTech

מצב הרשימה: isEmpty ו-isNotEmp

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

לפני עבודה עם איברים ברשימה, חשוב לדעת אם הרשימה שלך מכילה פריטים כלשהם. Dart מספקת שתי תכונות פשוטות לבדיקת מצב הרשימה: isEmpty ו-isNotEmpty.

המאפיין isEmpty מחזיר true אם אין ברשימה איברים, ו-false אם יש בה לפחות איבר אחד. המאפיין isNotEmpty פועל בכיוון ההפוך - הוא מחזיר true כאשר יש איברים ברשימה ו-false כאשר היא ריקה.

List<String> emptyCart = [];
List<String> shoppingCart = ['apples', 'bread', 'milk'];

print(emptyCart.isEmpty);      // true
print(emptyCart.isNotEmpty);   // false

print(shoppingCart.isEmpty);   // false
print(shoppingCart.isNotEmpty); // true

המאפיינים האלה שימושיים במיוחד למניעת שגיאות כשמנסים לגשת לאיברים ברשימה. בדיקה אם רשימה ריקה לפני שמשתמשים במאפיינים כמו .first או .last עוזרת לך לכתוב קוד בטוח ואמין יותר.

challenge icon

אתגר

קל

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

  1. לקרוא קלט מסוג מחרוזת שמייצג את שם התור
  2. לקרוא כמה קלטים מסוג מחרוזת שמייצגים משימות (הקלט יסתיים כשתתקבל מחרוזת ריקה)
  3. להשתמש במאפיין isEmpty כדי לבדוק אם רשימת המשימות ריקה
  4. להשתמש במאפיין isNotEmpty כדי לבדוק אם רשימת המשימות מכילה משימות
  5. להדפיס את מצב התור בפורמט המדויק שמוצג למטה

לדוגמה, אם שם התור הוא "Daily Tasks" והמשימות הן "Review emails", "Attend meeting", "Write report", התוכנית שלכם צריכה להציג:

Queue: Daily Tasks
Has tasks: true
Is empty: false
Task count: 3
Status: Ready for processing

אם שם התור הוא "Weekend Tasks" ולא סופקו משימות (קלט ריק), התוכנית שלכם צריכה להציג:

Queue: Weekend Tasks
Has tasks: false
Is empty: true
Task count: 0
Status: No tasks to process

התוכנית שלכם חייבת להשתמש גם במאפיין isEmpty וגם במאפיין isNotEmpty כדי לקבוע את מצב התור. הודעת המצב צריכה להיות "Ready for processing" כשיש משימות, ו-"No tasks to process" כשהתור ריק.

נסו בעצמכם

import 'dart:io';

void main() {
  // קראו את שם התור
  String? queueName = stdin.readLineSync();
  
  // קראו משימות עד שמתקבלת מחרוזת ריקה
  List<String> tasks = [];
  String? task;
  while ((task = stdin.readLineSync()) != null && task!.isNotEmpty) {
    tasks.add(task);
  }
  
  // TODO: כתבו את הקוד שלכם למטה
  // השתמשו במאפיינים tasks.isEmpty ו-tasks.isNotEmpty כדי לבדוק את מצב התור
  // קבעו את הודעת המצב המתאימה לפי קיומן של משימות
  
  // הציגו את התוצאות
  print('Queue: $queueName');
  // הדפיסו אם יש משימות, אם התור ריק, את מספר המשימות ואת המצב
}
quiz iconבחנו את עצמכם

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

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

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