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}