0Pricing
Learn Rust Coding · Ders

if let ve while let

Özlü eşleştirme

if let ve while let, CoddyKit'te ücretsiz bir Learn Rust Coding dersidir. Bu, 4 dersinin 2. 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.

Kısa Eşleştirme

Bazen yalnızca tek bir örüntüyle ilgilenirsiniz. if let ve while let, tam bir match kullanmadan kısa eşleştirme yapmanızı sağlar.

if let Biçimi

if let, yalnızca bir değer bir örüntüyle eşleştiğinde bir bloğu çalıştırır ve yakalanan verileri bağlar.

fn main() {
    let maybe = Some(10);
    if let Some(n) = maybe {
        println!("value is {n}");
    }
}

if let ve match Karşılaştırması

if let, ilginç tek bir kolu ve _ => () geçişini içeren bir match için sözdizimsel kolaylıktır. Diğer durumların işlenmesi gerekmiyorsa bunu kullanın.

fn main() {
    let config: Option<i32> = None;
    // match equivalent would have an empty _ arm
    if let Some(v) = config {
        println!("configured: {v}");
    }
    println!("done");
}

else Ekleme

Eşleşmeyen durumu ele almak için bir else ekleyin.

fn main() {
    let result: Result<i32, String> = Err("boom".to_string());
    if let Ok(v) = result {
        println!("ok: {v}");
    } else {
        println!("failed");
    }
}

let else

let ... else, örüntü eşleştiğinde bağlama yapar; aksi halde return gibi akışı sonlandıran bir blok çalıştırır. Erken çıkışlar için çok kullanışlıdır.

fn parse(s: &str) -> i32 {
    let Ok(n) = s.parse::<i32>() else {
        println!("not a number");
        return 0;
    };
    n * 2
}

fn main() {
    println!("{}", parse("21"));
    println!("{}", parse("oops"));
}

while let Biçimi

while let, bir değer bir örüntüyle eşleştiği sürece döngüyü sürdürür. Yığınlar gibi yapıları boşaltmak için idealdir.

fn main() {
    let mut stack = vec![1, 2, 3];
    while let Some(top) = stack.pop() {
        println!("popped {top}");
    }
}

Yineleyiciler Üzerinde Döngü

while let, tekrar tekrar next çağırarak yineleme yapabilir ve None döndürüldüğünde durabilir.

fn main() {
    let mut iter = [10, 20, 30].into_iter();
    while let Some(x) = iter.next() {
        println!("{x}");
    }
}

if let ile Koruyucular

&& koşulu ekleyerek (Rust 2024) veya içine bir if yerleştirerek koruyucu ekleyin.

fn main() {
    let value = Some(8);
    if let Some(n) = value {
        if n > 5 {
            println!("big: {n}");
        }
    }
}

Hangisini Ne Zaman Kullanmalı?

Yönergeler:

  • if let — tek bir örüntüyü ele alın, geri kalanını yok sayın
  • let else — bağlama yapın veya erken çıkın
  • while let — bir örüntü eşleştiği sürece döngü kurun
  • match — birden çok durumu ele almanız gerektiğinde kullanın

Okunabilirlik Dengesi

Bu biçimler standart kodu azaltır, ancak durumları gizleyebilir. Birden çok örüntüyü ele aldığınızı fark ederseniz açıklık için tam bir match yapısına dönün.

if let İç İçe Kullanımı

if let yapılarını iç içe yerleştirerek isteğe bağlı değerleri zincirleyebilir ve her seferinde bir katmanı açabilirsiniz.

fn main() {
    let outer: Option<Option<i32>> = Some(Some(99));
    if let Some(inner) = outer {
        if let Some(value) = inner {
            println!("value is {value}");
        }
    }
}

Hızlı Kontrol

Bir değer bir örüntüyle eşleştiği sürece döngü gövdesini tekrar tekrar hangi yapı çalıştırır?

Özet

Kısa eşleştirmeyi öğrendiniz:

  • if let, isteğe bağlı olarak else ile tek bir örüntüyü ele alır
  • let else, erken bağlama yapar veya akışı sonlandırır
  • while let, bir örüntü eşleştiği sürece döngü kurar
  • Birden çok durumun ele alınması gerektiğinde match yapısına geçin

Sıkça Sorulan Sorular

“if let ve while let” dersi ücretsiz mi?

Evet — “if let ve while let” 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.

“if let ve while let” dersinde ne öğreneceğim?

Özlü eşleştirme 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 2. dersidir.

“if let ve while let” 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. match Derinlemesine İnceleme
  2. if let ve while let
  3. @ ile Bağlama
  4. Yapı Bozma
← Learn Rust Coding Sayfasına Dön