diff options
| author | mo khan <mo@mokhan.ca> | 2025-05-30 12:15:28 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-05-30 12:15:28 -0600 |
| commit | d27e12b22d5d50e86b6536b421df0f2da0dfb4f3 (patch) | |
| tree | f553ebf21a36054e10f05cc0f59342c358c7bdb7 /src | |
| parent | 9c9446d895141f38abb096c2f3c95068ff152fa9 (diff) | |
refactor: extract function to enter guess
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/main.rs b/src/main.rs index 3e4686c..9808ef2 100644 --- a/src/main.rs +++ b/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; +} |
