while let 文
if let と同様に、 while let というバリアントがあり、値をパターンに対して繰り返しテストします。
// Copyright 2025 Google LLC // SPDX-License-Identifier: Apache-2.0 fn main() { let mut name = String::from("Comprehensive Rust 🦀"); while let Some(c) = name.pop() { dbg!(c); } // (文字列を逆順にするもっと効率的な方法はあります!) }
ここで String::pop は、文字列が空になるまでは Some(c) を返し、その後は None を返します。 while let を使うことで、すべての要素に対して反復を続けられます。
while letループは、値がパターンに一致している限り継続することを指摘してください。while letループは、name.pop()からアンラップする値がなくなったときにbreakするif文を使った無限ループとして書き換えることもできます。while letは、このような場面のためのシンタックスシュガーを提供します。- この形式は、条件が偽の場合に値を持たない可能性があるため、式としては使用できません。