if ve while İçinde let Zincirleri
Özet
ifvewhilekoşul işlenenlerindeletifadelerinin zincirlenmesine izin verilir.
Ayrıntılar
2024 sürümüyle birlikte if ve while koşullarının içinde let ifadelerini
zincirlemek mümkün hale geldi. Buradaki zincirleme, && zincirlerini ifade eder.
let ifadelerinin yine de üst düzeyde bulunması gerekir; bu yüzden
if (let Some(selam) = foo || let Some(selam) = bar) geçerli değildir.
2024’ten önce let, doğrudan if ya da while sözcüğünden sonra gelmek
zorundaydı; yani yalnızca if let ya da while let özel biçimleri vardı.
Şimdi ise if ve while, bir ya da daha fazla let ifadesinden oluşan
zincirlere izin verir; bunlar bool türündeki ifadelerle de karışık olabilir.
#![allow(unused)]
fn main() {
fn ilk_ikiyi_topla(sayilar: &[u8]) -> Option<u8> {
let mut yineleyici = sayilar.iter();
if let Some(ilk) = yineleyici.next()
&& let Some(ikinci) = yineleyici.next()
{
ilk.checked_add(*ikinci)
} else {
None
}
}
}
Bu özellik, 2024 sürümüne ait [if let yeniden kapsamlandırması] değişikliğini gerektirdiği için sürüm kapısına bağlıdır.
Taşıma
Bu özellik, geçerli Rust programları kümesini gerçekten genişlettiği için 2024 sürümüne geçerken ayrıca bir taşıma gerektirmez.