Görev Ekleme
Coddy'nin Rust Journey'sinin Logic & Flow bölümünün bir parçası — ders 16 / 66.
Görev
Kolayİki girdi alacaksınız: birincisi, virgülle ayrılmış mevcut görevlerin listesi ve ikincisi, eklenecek yeni bir görev. Her iki girdiyi de okuyun, mevcut görevlerden bir vektör oluşturun, yeni görevi vektöre ekleyin ve güncellenmiş görev listesini yazdırın.
Gereksinimler:
- Virgülle ayrılmış görev açıklamalarını içeren ilk girdiyi okuyun (örneğin,
Buy groceries,Call dentist) - Bireysel görevleri elde etmek için dizeyi virgüllere göre ayırın
- Değiştirilebilir (mutable) bir vektör oluşturun ve mevcut her görevi buna ekleyin
- Eklenecek yeni görevi içeren ikinci girdiyi okuyun
- Yeni görevi vektöre eklemek için
.push()kullanın - Toplam görev sayısını şu formatta yazdırın:
Total tasks: X - Her görevi ayrı bir satırda şu formatta yazdırın:
Task: [task description]
Girdi:
- İlk satır: Virgülle ayrılmış görev açıklamaları (örneğin,
Buy groceries,Call dentist) - İkinci satır: Eklenecek yeni bir görev (örneğin,
Finish homework)
Çıktı:
- İlk satır: Yeni görev eklendikten sonraki toplam görev sayısını gösteren
Total tasks: X - Sonraki satırlar:
Task: [task description]şeklinde yazdırılan her bir görev
Kendin dene
use std::io;
fn main() {
// İlk girişi oku (virgülle ayrılmış görevler)
let mut existing_tasks = String::new();
io::stdin().read_line(&mut existing_tasks).expect("Failed to read line");
let existing_tasks = existing_tasks.trim();
// İkinci girişi oku (eklenecek yeni görev)
let mut new_task = String::new();
io::stdin().read_line(&mut new_task).expect("Failed to read line");
let new_task = new_task.trim();
// TODO: Kodunuzu aşağıya yazın
// existing_tasks değişkenini virgüllere göre ayırın ve değiştirilebilir bir vektör oluşturun
// Yeni görevi vektöre ekleyin
// Toplam görev sayısını yazdırın
// Her bir görevi istenen formatta yazdırın
}Logic & Flow bölümündeki tüm dersler
1İleri Seviye Kontrol Akışı
'match' İfadesiBirden Çok Değeri EşleştirmeAralıkları Eşleştirme'if let' İfadesiİfade Olarak DöngülerÖzet - Basit Komut Ayrıştırıcı4Struct'lar ile Verileri Gruplama
Struct Nedir?Struct'lara Genel BakışStruct Alanlarına ErişmeMutable Struct'larFonksiyon Parametresi Olarak Struct'larTuple Struct'larÖzet - Bir Kitap Struct'ı Oluşturun7'Result' ile Hata Yönetimi
'Result' Nedir?'Result' ile 'match' Kullanımıis_ok() ve is_err()Kısayollar: unwrap ve expectSoru İşareti Operatörü '?'String'leri Sayılara DönüştürmeÖzet - Güvenli Bölme Fonksiyonu10Closures ve Anonim Fonksiyonlar
Closure Nedir?Basit Bir Closure TanımlamaParametreli Closure'larOrtamı YakalamakÖzet - Basit Toplayıcı Closure2Vektörlere Giriş
Vektör Nedir?Vektör Oluşturmapush ile Eleman EklemeVektör Elemanlarına ErişmeVektör Üzerinde YinelemeDeğiştirilebilir YinelemeEleman KaldırmaÖzet - Temel Skor Takipçisi5Hash Map'ler ile Anahtar-Değer Çiftleri
Hash Map Nedir?Bir Hash Map OluşturmaAnahtar-Değer Çiftleri EklemeDeğerlere ErişmeBir Hash Map Üzerinde GezinmeBir Değeri GüncellemeBir Çifti KaldırmaÖzet - Kelime Sayacı11Son Meydan Okumalar
Özet - Benzersiz ÖğelerÖzet - Kullanıcı Profili DoğrulayıcıÖzet - Not Özetleyici3Komut Satırı Yapılacaklar Listesi
Proje KurulumuGörev EklemeTüm Görevleri GörüntülemeGörev SilmeFinal Kodu6'Option' ile Yokluğu Yönetme
'Option' Nedir?'Option' ile 'match' Kullanımıis_some() ve is_none()Bir 'Option' Değerini Açmak (Unwrapping)expect MetoduVarsayılan Değer Sağlama: unwrap_orÖzet - Bir Eleman Bulma9String Dilimleri ve Daha Fazlası
String ve &strString Dilimleri OluşturmaFonksiyon Parametresi Olarak DilimlerDiğer DilimlerÖzet - İlk Kelimeyi Bulma