Görev listeleme
- Dart kursu
- Başlangıç
- Ders 85/116
- 6 dk
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
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
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ü
void listTasks() {
for (var i = 0; i < tasks.____; i++) {
print(tasks[i].title);
}
}
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.