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
์ ๊ทธ๋ฌํ ๊ฒฝ์ฐ๋ฅผ ์ํ ๋ฌธ๋ฒ์ ํธ์๋ฅผ ์ ๊ณตํฉ๋๋ค.