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ınlet else— bağlama yapın veya erken çıkınwhile let— bir örüntü eşleştiği sürece döngü kurunmatch— 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ı olarakelseile tek bir örüntüyü ele alırlet else, erken bağlama yapar veya akışı sonlandırırwhile let, bir örüntü eşleştiği sürece döngü kurar- Birden çok durumun ele alınması gerektiğinde
matchyapı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
- match Derinlemesine İnceleme
- if let ve while let
- @ ile Bağlama
- Yapı Bozma