loop and break

This commit is contained in:
2022-12-13 08:59:43 -05:00
parent 7cbfe8dbc9
commit ddd68240e7

View File

@ -17,6 +17,7 @@ fn main() {
let mut guess = String::new();
// could still call this without importing it via std::io::stdin
// this can be one line, it is broken up for readability.
loop {
io::stdin()
// & indicates that this argument is a reference,
// references are also immutable by default so &mut is needed
@ -30,13 +31,19 @@ fn main() {
// shadowing V
let guess: u32 = guess.trim().parse().expect("please type a number for the love of god");
// trim removes space and \n
// single colon is type annotation
//
println!("you guessed: {guess}");
// a match expression is made of arms. an arm is a pattern to match and code to run against it.
// switch/case
match guess.cmp(&secret_number) {
Ordering::Less => println!("too small"),
Ordering::Greater => println!("too big"),
Ordering::Equal => println!("you win"),
Ordering::Equal => {
println!("you win");
break;
}
}
}
}
// cargo doc --open