while let
Deyimleri
if let
’te olduğu gibi, bir değeri tekrar tekrar bir desene göre test eden bir while let
çeşidi vardır:
fn main() { let mut name = String::from("Comprehensive Rust 🦀"); while let Some(c) = name.pop() { dbg!(c); } // (Bir dizeyi tersine çevirmenin daha verimli yolları var!) }
Burada String::pop
dize boşalana kadar Some(c)
geri döndürür, ardından None
geri döndürür. while let
tüm öğeler arasında adımlamaya (iterating) devam etmemizi sağlar.
while let
döngüsünün, değer desenle eşleştiği sürece devam edeceğine dikkat çekin.while let
döngüsünü,name.pop()
için açılacak bir değer olmadığında kesintiye uğrayan bir if ifadesiyle sonsuz bir döngü olarak yeniden yazabilirsiniz.while let
yukarıdaki senaryo için sözdizimsel kolaylık sağlar.- Bu form bir ifade (expression) olarak kullanılamaz, çünkü koşul yanlışsa hiçbir değeri olmayabilir.