Learn Rust Coding · Ders

Koleksiyonlar Üzerinde Gezinme

for ve yineleyiciler

4. ders / 413 adım

Koleksiyonlar Üzerinde Gezinme, CoddyKit'te ücretsiz bir Learn Rust Coding dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn Rust Coding öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn Rust Coding kursu toplamda 4 dersten oluşur.

for ile Döngü Kurma

for döngüsü, bir koleksiyondaki her öğeyi ziyaret etmenin en basit yoludur.

fn main() {
    let nums = vec![1, 2, 3];
    for n in &nums {
        println!("{}", n);
    }
}

Aralıklar Üzerinde Döngü

Aralıklar, üzerinde yineleme yapabileceğiniz bir dizi üretir. 1..5 son değeri içermez; 1..=5 ise son değeri de içerir.

fn main() {
    for i in 1..=3 {
        println!("i = {}", i);
    }
}

iter Metodu

.iter() çağrısı, her öğeye başvurular veren bir yineleyici oluşturur. Yineleyiciler, tüketilene kadar tembel değerlendirilir.

fn main() {
    let v = vec![10, 20, 30];
    let mut it = v.iter();
    println!("{:?}", it.next());
    println!("{:?}", it.next());
}

Yineleme Yapmanın Üç Yolu

Vektörler üç yineleme biçimi sunar:

  • iter() — &T verir (ödünç alma).
  • iter_mut() — &mut T verir (değiştirilebilir ödünç alma).
  • into_iter() — T verir (sahipliği alır).
fn main() {
    let v = vec![1, 2, 3];
    for x in v.into_iter() {
        println!("owned {}", x);
    }
}

map ile Dönüştürme

map, her öğeye bir kapatma uygular ve yeni bir yineleyici üretir. Sonuçları toplamak için collect kullanınız.

fn main() {
    let v = vec![1, 2, 3];
    let squared: Vec<i32> = v.iter().map(|x| x * x).collect();
    println!("{:?}", squared);
}

filter ile Seçme

filter, kapatmanın true döndürdüğü öğeleri tutar.

fn main() {
    let v = vec![1, 2, 3, 4, 5];
    let odds: Vec<i32> = v.into_iter().filter(|x| x % 2 == 1).collect();
    println!("{:?}", odds);
}

sum ve count ile Birleştirme

Tüketici metotları, bir yineleyiciyi sum, count, max ve min gibi tek bir değere indirger.

fn main() {
    let v = vec![4, 8, 15, 16];
    let total: i32 = v.iter().sum();
    let how_many = v.iter().count();
    println!("sum {} count {}", total, how_many);
}

Uyarlayıcıları Zincirleme

Yineleyici metotları, anlaşılır bir veri işleme akışı oluşturacak şekilde zincirlenebilir. Son tüketiciye ulaşmadan önce her adım akışı dönüştürür.

fn main() {
    let v = vec![1, 2, 3, 4, 5, 6];
    let result: i32 = v.iter()
        .filter(|x| *x % 2 == 0)
        .map(|x| x * 10)
        .sum();
    println!("{}", result);
}

Indeksler için enumerate

enumerate, her öğeyi indeksiyle eşleştirerek (index, value) demetleri üretir.

fn main() {
    let letters = vec!['a', 'b', 'c'];
    for (i, ch) in letters.iter().enumerate() {
        println!("{}: {}", i, ch);
    }
}

HashMap Üzerinde Yineleme

Yineleyiciler haritalar üzerinde de çalışır. Döngü, anahtar-değer demetleri üretir.

use std::collections::HashMap;

fn main() {
    let mut m = HashMap::new();
    m.insert("a", 1);
    m.insert("b", 2);
    for (k, v) in &m {
        println!("{} -> {}", k, v);
    }
}

for ve Yineleyici Metotları

Sade bir for döngüsü, yazdırma gibi yan etkiler için çok uygundur. Yineleyici uyarlayıcıları (map, filter, sum) verileri yeni bir değere dönüştürürken öne çıkar.

fn main() {
    let v = vec![2, 4, 6];
    let doubled: Vec<i32> = v.iter().map(|x| x * 2).collect();
    for x in &doubled {
        println!("{}", x);
    }
}

Kısa Kontrol

Yineleyici uyarlayıcılarının görevini hatırlayınız.

Özet

Rust'ta koleksiyonlar üzerinde yineleme:

  • Basit döngüler için for x in &collection.
  • iter, iter_mut, into_iter ödünç alma biçimini denetler.
  • Uyarlayıcılar: map, filter, enumerate.
  • Tüketiciler: collect, sum, count, max.
fn main() {
    let prices = vec![10, 25, 40];
    let with_tax: Vec<i32> = prices.iter().map(|p| p + p / 5).collect();
    let total: i32 = with_tax.iter().sum();
    println!("{:?} total {}", with_tax, total);
}
Başlamak ücretsiz

Yapay zeka eğitmeniyle Rust öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
39
Dersler
144

Sıkça Sorulan Sorular

“Koleksiyonlar Üzerinde Gezinme” dersi ücretsiz mi?

Evet — “Koleksiyonlar Üzerinde Gezinme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn Rust Coding kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn Rust Coding kursu toplamda 4 dersten oluşur.

“Koleksiyonlar Üzerinde Gezinme” dersinde ne öğreneceğim?

for ve yineleyiciler Learn Rust Coding ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn Rust Coding öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn Rust Coding, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Koleksiyonlar Üzerinde Gezinme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn Rust Coding dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn Rust Coding dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Vektörler
  2. Dizeler ve &str
  3. HashMaps
  4. Koleksiyonlar Üzerinde Gezinme
← Learn Rust Coding Sayfasına Dön