Created
April 30, 2024 15:17
-
-
Save thewisenerd/c2076be09bcd2e2720cac22775ed5e21 to your computer and use it in GitHub Desktop.
day01
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use rand::Rng; | |
use std::cmp::Ordering; | |
use std::io; | |
fn main() { | |
let secret = rand::thread_rng().gen_range(1..=100); | |
let mut guess = String::new(); | |
loop { | |
guess.clear(); | |
println!("guess: "); | |
let result = match io::stdin().read_line(&mut guess) { | |
Ok(count) => { | |
if guess.trim().len() == 0 { | |
println!("for the love of all that is holy, enter something!"); | |
continue; | |
} | |
} | |
Err(e) => { | |
println!("failed to read line! {:?}", e); | |
} | |
}; | |
let guess: u32 = match guess.trim().parse() { | |
Ok(num) => num, | |
Err(e) => { | |
println!("error: '{}' {:?}", guess, e); | |
continue; | |
} | |
}; | |
println!("you guessed: {guess}"); | |
match (match guess.cmp(&secret) { | |
Ordering::Less => Err("colder"), | |
Ordering::Greater => Err("warmer"), | |
Ordering::Equal => Ok("perfect!"), | |
}) { | |
Ok(m) => { | |
println!("{}", m); | |
break; | |
} | |
Err(m) => { | |
println!("d'oh! {}", m); | |
} | |
}; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment