Compare commits
2 Commits
48f9790c5e
...
283c49a7d8
| Author | SHA1 | Date | |
|---|---|---|---|
| 283c49a7d8 | |||
| 26530738dc |
35
src/day03.rs
Normal file
35
src/day03.rs
Normal file
@@ -0,0 +1,35 @@
|
||||
use std::fs::read_to_string;
|
||||
|
||||
pub fn day_main() {
|
||||
let input = read_to_string("input/day03.txt").unwrap();
|
||||
println!("part1: {}", part1(&input));
|
||||
println!("part2: {}", part2(&input));
|
||||
}
|
||||
|
||||
type RiddleResult = usize;
|
||||
|
||||
fn part1(input: &str) -> RiddleResult {
|
||||
0
|
||||
}
|
||||
|
||||
fn part2(_input: &str) -> RiddleResult {
|
||||
0
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::{part1, part2};
|
||||
|
||||
const TEST_INPUT: &str = r"
|
||||
";
|
||||
|
||||
#[test]
|
||||
fn test1() {
|
||||
assert_eq!(part1(TEST_INPUT), 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test2() {
|
||||
assert_eq!(part2(TEST_INPUT), 0);
|
||||
}
|
||||
}
|
||||
@@ -1,2 +1,3 @@
|
||||
pub mod day01;
|
||||
pub mod day02;
|
||||
pub mod day03;
|
||||
|
||||
37
src/main.rs
37
src/main.rs
@@ -1,12 +1,35 @@
|
||||
use std::env::args;
|
||||
use std::{collections::HashMap, env::args};
|
||||
|
||||
use advent_of_rust_2024::{day01, day02};
|
||||
use advent_of_rust_2024::*;
|
||||
use itertools::Itertools;
|
||||
|
||||
fn main() {
|
||||
let mains: HashMap<u8, fn() -> ()> = HashMap::from_iter([
|
||||
(1, day01::day_main as fn()),
|
||||
(2, day02::day_main),
|
||||
(3, day03::day_main),
|
||||
]);
|
||||
let day: Option<u8> = args().nth(1).and_then(|a| a.parse().ok());
|
||||
match day {
|
||||
Some(1) => day01::day_main(),
|
||||
Some(2) => day02::day_main(),
|
||||
_ => println!("hi"),
|
||||
}
|
||||
let Some(day) = day else {
|
||||
mains
|
||||
.iter()
|
||||
.sorted_by_key(|entry| entry.0)
|
||||
.for_each(|(d, f)| {
|
||||
println!("Day {d}:");
|
||||
f();
|
||||
});
|
||||
return;
|
||||
};
|
||||
|
||||
let Some(f) = mains.get(&day) else {
|
||||
println!("No implementation for day {day}.");
|
||||
println!(
|
||||
"Pick one of {}",
|
||||
mains.keys().map(|k| k.to_string()).join(", ")
|
||||
);
|
||||
return;
|
||||
};
|
||||
|
||||
println!("Day {day}:");
|
||||
f();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user