use rand::Rng; use std::cmp::Ordering; use std::io; fn main() { println!("Guess the number!"); let secret_number = rand::thread_rng().gen_range(1..=100); // println!("The secret number is {secret_number}"); println!("Please input your guess."); loop { let mut guess = String::new(); io::stdin() .read_line(&mut guess) .expect("Failed to read line"); // matches to arm that best fits (num only goes into Ok and lets shadow guess through) let guess: u32 = match guess.trim().parse() { Ok(num) => num, Err(_) => continue, }; println!("You guessed: {}", guess); // matches to arm that best fits match guess.cmp(&secret_number) { Ordering::Less => println!("Too small!"), Ordering::Greater => println!("Too big!"), Ordering::Equal => { println!("You win!"); break; } } } }