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 letdöngüsünün, değer desenle eşleştiği sürece devam edeceğine dikkat çekin.while letdö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 letyukarı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.