main
 1use rand::Rng;
 2use std::cmp::Ordering;
 3use std::io;
 4
 5fn main() {
 6    println!("Guess the number!");
 7    let secret_number = rand::rng().random_range(1..=100);
 8
 9    loop {
10        match input_guess().cmp(&secret_number) {
11            Ordering::Less => println!("Too small!"),
12            Ordering::Greater => println!("Too big!"),
13            Ordering::Equal => {
14                println!("😻 You win!");
15                break;
16            }
17        }
18    }
19}
20
21fn input_guess() -> u32 {
22    println!("Please input your guess");
23    let mut guess = String::new();
24    io::stdin()
25        .read_line(&mut guess)
26        .expect("failed to read line");
27
28    // let guess: u32 = guess.trim().parse().expect("Please type a number!");
29    let guess: u32 = match guess.trim().parse() {
30        Ok(num) => num,
31        Err(_) => input_guess(),
32    };
33    return guess;
34}