Latihan 1 dari materi HashMap di Rust — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Editor sudah berisi use std::collections::HashMap;, let teks = "rust rust belajar rust belajar web";, dan let mut counter: HashMap<&str, i32> = HashMap::new();. Biarkan ketiganya, lalu hitung berapa kali tiap kata muncul:
Pecah teks di spasi dan ulangi tiap katanya: for kata in teks.split(" ") { ... } (atau teks.split_whitespace()).
Di dalam loop, tambah hitungan kata itu: *counter.entry(kata).or_insert(0) += 1;.
Setelah loop, cetak println!("rust: {}", counter["rust"]); dan println!("belajar: {}", counter["belajar"]);.
Cetak juga jumlah kata yang berbeda: println!("{}", counter.len());.
Klik Jalankan.
Yang diperiksa: kode-mu memanggil .split( atau .split_whitespace(, dan output-nya persis tiga baris ini, berurutan:
rust: 3
belajar: 2
3
Cetak hitungannya per kunci seperti di atas, jangan seluruh HashMap dengan {:?}: urutan HashMap bisa beda tiap kali jalan.
Hint
Kata-katanya didapat dengan memecah teks di spasi. Tiap kata jadi kunci di counter, dan nilainya berapa kali kata itu sudah muncul.
entry(kata).or_insert(0) membuat baris bernilai 0 kalau kata itu belum ada, lalu memberi pinjaman ke nilainya. Tanda * di depan mengubah nilai itu: tambah 1.
for kata in teks.split(" ") {
*counter.entry(kata).or_insert(0) += 1;
}
println!("rust: {}", counter["rust"]);
println!("belajar: {}", counter["belajar"]);
println!("{}", counter.len());
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...