Commit d27e12b
Changed files (1)
src
src/main.rs
@@ -6,22 +6,8 @@ fn main() {
println!("Guess the number!");
let secret_number = rand::rng().random_range(1..=100);
- println!("The secret number is: {secret_number}");
-
loop {
- println!("Please input your guess");
-
- let mut guess = String::new();
- io::stdin()
- .read_line(&mut guess)
- .expect("failed to read line");
-
- // let guess: u32 = guess.trim().parse().expect("Please type a number!");
- let guess: u32 = match guess.trim().parse() {
- Ok(num) => num,
- Err(_) => continue,
- };
-
+ let guess: u32 = input_guess();
println!("You guessed: {guess}");
match guess.cmp(&secret_number) {
@@ -34,3 +20,18 @@ fn main() {
}
}
}
+
+fn input_guess() -> u32 {
+ println!("Please input your guess");
+ let mut guess = String::new();
+ io::stdin()
+ .read_line(&mut guess)
+ .expect("failed to read line");
+
+ // let guess: u32 = guess.trim().parse().expect("Please type a number!");
+ let guess: u32 = match guess.trim().parse() {
+ Ok(num) => num,
+ Err(_) => input_guess(),
+ };
+ return guess;
+}