CodeBlanks Logo Icon CodeBlanks

Görev listeleme

listTasks ile görevleri formatlı yazdırmayı öğrenirsin.

listTasks metodu

Şimdi TodoList'e listTasks metodunu ekleyeceğiz. Bu metot, tüm görevleri numaralandırarak ekrana yazdırır. Böylece kullanıcı listesinde ne olduğunu görebilir.

Metot void listTasks() imzasıyla yazılır. Gövdesinde bir for döngüsüyle tasks listesini gezersin ve her görevi print ile yazdırırsın.

Örnek: for (var i = 0; i < tasks.length; i++) { print(tasks[i].title); }. Bu, her görevin yalnızca adını yazdırır. İstersen numara veya durum da ekleyebilirsin; bu dersin görevinde numara isteyeceğiz.

Numaralı liste

Görevleri numaralı yazdırmak için döngü indeksini kullanabilirsin. Örnek: print('${i + 1}. ${tasks[i].title}'). Bu, '1. Kitap oku' biçiminde çıktı verir.

Dize interpolation (aradeğerlendirme) ${...} arasına ifade koyar. i + 1 sayıyı 1'den başlatır; programcılar 0'dan saydığı için biz 1 ekleyerek kullanıcıya '1, 2, 3' gösteririz.

Bu küçük dokunuş, listeyi okunabilir kılar. İleride tamamlanma durumunu da ekleyebiliriz; ama önce temel listeyi görmek önemli.

Uygulama listTasks metodunu ekle

TodoList sınıfına void listTasks() metodunu ekle. Gövdesinde bir for döngüsüyle tasks'ı gez ve her görevi '${i + 1}. ${tasks[i].title}' biçiminde print ile yazdır. main içinde list.addTask('Kitap oku') ve list.listTasks() çağrılarını ekle.

Başlangıç kodu

main.dart
class Task {
  String title;
  bool done = false;
  Task(this.title);
}

class TodoList {
  List<Task> tasks = [];
  void addTask(String title) {
    tasks.add(Task(title));
  }
  // listTasks metodunu ekle
}

void main() {
  var list = TodoList();
  list.addTask('Kitap oku');
  // listeleme çağrısı ekle
}

Örnek çözüm

main.dart
class Task {
  String title;
  bool done = false;
  Task(this.title);
}

class TodoList {
  List<Task> tasks = [];
  void addTask(String title) {
    tasks.add(Task(title));
  }
  void listTasks() {
    for (var i = 0; i < tasks.length; i++) {
      print('${i + 1}. ${tasks[i].title}');
    }
  }
}

void main() {
  var list = TodoList();
  list.addTask('Kitap oku');
  list.listTasks();
}

Beklenen çıktı

1. Kitap oku

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 for döngüsü

Soru
void listTasks() {
  for (var i = 0; i < tasks.____; i++) {
    print(tasks[i].title);
  }
}
Cevap
void listTasks() {
  for (var i = 0; i < tasks.length; i++) {
    print(tasks[i].title);
  }
}

Açıklama: listenin uzunluğu length ile alınır.

2 Döngü parçalarını eşleştir

Kavram Anlamı
for Döngü anahtarı
var i = 0 Başlangıç
i < tasks.length Koşul
i++ Adım

3 tasks[i] neyi verir?

  • İlk Task'ı
  • i indeksli Task'ı Doğru cevap
  • Hata fırlatır
  • Listenin uzunluğunu

Açıklama: tasks[i] i indeksindeki Task'ı döndürür.

Başlangıç bölümündeki tüm dersler