advent-of-code/2021/src/common.rs

19 lines
473 B
Rust
Raw Normal View History

use std::env;
2021-11-22 14:30:40 +01:00
pub fn read_file(day: usize) -> String {
std::fs::read_to_string(env::var("AOC_INPUT").unwrap_or_else(|_| format!("inputs/day{:0>2}", day))).unwrap()
2021-11-22 14:30:40 +01:00
}
pub fn parse_nums(l: &str) -> Vec<usize> {
2021-12-06 11:01:23 +01:00
l.lines().map(parse_num).collect()
}
pub fn parse_nums_comma(l: &str) -> Vec<usize> {
2021-12-06 13:46:34 +01:00
l.trim().split(',').map(parse_num).collect()
2021-12-06 11:01:23 +01:00
}
2021-12-06 13:46:34 +01:00
#[inline]
2021-12-06 11:01:23 +01:00
fn parse_num(s: &str) -> usize {
2021-12-06 13:46:34 +01:00
s.parse().unwrap_or_else(|e| panic!("Invalid number {s}: {e:?}"))
2021-11-22 14:30:40 +01:00
}