Commit d27e12b

mo khan <mo@mokhan.ca>
2025-05-30 18:15:28
refactor: extract function to enter guess
1 parent 9c9446d
Changed files (1)
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;
+}