From 29b1679b024f4f56d43b1646d6fa5d301994f6f4 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Fri, 4 Dec 2020 15:59:34 -0500 Subject: refactor --- src/2020/3/mod.rs | 7 +------ src/util.rs | 9 +++++++++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/2020/3/mod.rs b/src/2020/3/mod.rs index 58aabfd..825e31c 100644 --- a/src/2020/3/mod.rs +++ b/src/2020/3/mod.rs @@ -1,5 +1,4 @@ use anyhow::Context as _; -use std::io::Read as _; struct Map { grid: Vec>, @@ -85,10 +84,6 @@ pub fn part2() -> anyhow::Result<()> { } fn read_map() -> anyhow::Result { - let mut f = std::fs::File::open("data/3.txt") - .context("couldn't find data file 3.txt")?; - let mut map_str = vec![]; - f.read_to_end(&mut map_str) - .context("failed to read map contents")?; + let map_str = crate::util::read_file("data/3.txt")?; Map::parse(&map_str) } diff --git a/src/util.rs b/src/util.rs index 94f9796..6078b5d 100644 --- a/src/util.rs +++ b/src/util.rs @@ -16,6 +16,15 @@ pub fn read_ints(filename: &str) -> anyhow::Result> { ints } +pub fn read_file(filename: &str) -> anyhow::Result> { + let mut f = std::fs::File::open(filename) + .with_context(|| format!("couldn't find data file {}", filename))?; + let mut s = vec![]; + f.read_to_end(&mut s) + .context("failed to read map contents")?; + Ok(s) +} + pub fn read_file_str(filename: &str) -> anyhow::Result { let mut f = std::fs::File::open(filename) .with_context(|| format!("couldn't find data file {}", filename))?; -- cgit v1.2.3