summaryrefslogtreecommitdiff
path: root/aoc22/lib/src
diff options
context:
space:
mode:
Diffstat (limited to 'aoc22/lib/src')
-rw-r--r--aoc22/lib/src/lib.rs14
1 files changed, 12 insertions, 2 deletions
diff --git a/aoc22/lib/src/lib.rs b/aoc22/lib/src/lib.rs
index ffe4e46..1ed2b06 100644
--- a/aoc22/lib/src/lib.rs
+++ b/aoc22/lib/src/lib.rs
@@ -1,9 +1,19 @@
-use std::fs;
+use std::{fs, io::Read};
pub mod prelude {
pub use std::error::Error;
}
pub fn read_input(day: usize) -> String {
- fs::read_to_string(format!("day{}/input", day)).expect("Could not read input")
+ let mut s = String::new();
+ let path = if let Some(arg) = std::env::args().nth(1) {
+ if arg == "-" {
+ std::io::stdin().read_to_string(&mut s).unwrap();
+ return s;
+ }
+ arg
+ } else {
+ format!("day{}/input", day)
+ };
+ fs::read_to_string(path).expect("Could not read input")
}