while let ๋ฐ๋ณต๋ฌธ
๋ง์ง๋ง์ผ๋ก, ๋ฌดํ ๋ฃจํ๋ฅผ ๋ง๋๋ loop ํค์๋๊ฐ ์์ต๋๋ค:
fn main() { let v = vec![10, 20, 30]; let mut iter = v.into_iter(); while let Some(x) = iter.next() { println!("x: {x}"); } }
v.into_iter()๊ฐ ๋ฐํํ ๋ฐ๋ณต์๋ next()๊ฐ ํธ์ถ๋ ๋๋ง๋ค Option<i32>๋ฅผ ๋ฐํํฉ๋๋ค. ๋ฐ๋ณต์๊ฐ ์๋ฃ๋ ๋๊น์ง๋ Some(x)๋ฅผ ๋ฐํํ๊ณ ๋ง์ง๋ง์ None์ ๋ฐํํฉ๋๋ค. while let์ ํตํด ๋ฐ๋ณต์์ ๋ชจ๋ ์์ดํ
์ ํ์ธํ ์ ์์ต๋๋ค.
ํจํด์ ๊ดํ ์ค๋ช ์ ํจํด ๋งค์นญ์ ์ฐธ์กฐํ์ธ์.
while let์ ๊ฐ์ด ํจํด์ ๋งค์น๋๋ ๋์ ๊ณ์๋ฉ๋๋ค.while let๋ฃจํ ๋์ ๋ฌดํ ๋ฃจํ๋ฅผ ์ฌ์ฉํ๊ณiter.next()๊ฐ ๋น ๊ฐ์ ๋ฐํํ ๋ ๋ฃจํ๋ฅผ ๋น ์ ธ๋์ค๋๋ก ์์ฑํ ์๋ ์์ต๋๋ค.while let์ ๊ทธ๋ฌํ ๊ฒฝ์ฐ๋ฅผ ์ํ ๋ฌธ๋ฒ์ ํธ์๋ฅผ ์ ๊ณตํฉ๋๋ค.