Özet - Kelime Sayacı
Coddy'nin Rust Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 34 / 66.
Görev
KolayGirdi olarak bir cümle alacaksın. Cümlede her kelimenin kaç kez geçtiğini say ve sayımları bir karma tabloda sakla. Ardından her benzersiz kelimeyi sayısıyla birlikte yazdır.
Gereksinimler:
HashMapögesinistd::collectionsiçinden içe aktarHashMap<String, i32>türlerine sahip değiştirilebilir bir karma tablo oluştur- Girdi cümlesini tek bir satır olarak oku
.split_whitespace()kullanarak cümleyi ayrı kelimelere böl- Her kelime için, kelime mevcut değilse sayımı
0olarak başlatmak üzere.entry()ile birlikte.or_insert(0)kullan .or_insert(0)kullandıktan sonra, o kelimenin sayımını1artır- Tüm kelimeler işlendiğinde karma tablo üzerinde yinele ve her kelimeyi sayımıyla birlikte şu biçimde yazdır:
[word]: [count]
Girdi:
- Boşluklarla ayrılmış kelimeler içeren tek bir satır (ör.
hello world hello rust world hello)
Çıktı:
- Her benzersiz kelime için şu biçimde bir satır:
[word]: [count] - Çıktı satırlarının sırası farklı test çalıştırmaları arasında değişebilir
Kendin dene
use std::collections::HashMap;
use std::io;
fn main() {
// Giriş cümlesini oku
let mut sentence = String::new();
io::stdin().read_line(&mut sentence).expect("Failed to read line");
let sentence = sentence.trim();
// Kelime sayılarını saklamak için değiştirilebilir bir hash map oluştur
let mut word_count: HashMap<String, i32> = HashMap::new();
// TODO: Kodunuzu aşağıya yazın
// Cümleyi kelimelere ayırın ve her kelimeyi sayın
// Her kelimeyi sayısıyla birlikte yazdırın
}Mantık & Akış 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 BulmaKendi başına pratik yap: Online Rust derleyicisi