Skip to content

Instantly share code, notes, and snippets.

@thewisenerd
Created April 30, 2024 15:17
Show Gist options
  • Save thewisenerd/c2076be09bcd2e2720cac22775ed5e21 to your computer and use it in GitHub Desktop.
Save thewisenerd/c2076be09bcd2e2720cac22775ed5e21 to your computer and use it in GitHub Desktop.
day01
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