From 0b6e22c056414d8c669199cae8ffcfcbc3160695 Mon Sep 17 00:00:00 2001 From: Alpha Chen Date: Wed, 5 Dec 2018 19:00:55 -0800 Subject: [PATCH] [2018][rust][04] reorganize parsing code --- 2018/rust/src/bin/day_04.rs | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/2018/rust/src/bin/day_04.rs b/2018/rust/src/bin/day_04.rs index d29bd0a..aaeefe7 100644 --- a/2018/rust/src/bin/day_04.rs +++ b/2018/rust/src/bin/day_04.rs @@ -20,17 +20,6 @@ fn solve(input: &str) -> Result> { Ok("".into()) } -fn parse_sleep_range(pair: Pair) -> Range { - let mut sleep_range = pair.into_inner(); - let falls_asleep: usize = parse_minute(sleep_range.next().unwrap()); - let wakes_up: usize = parse_minute(sleep_range.next().unwrap()); - (falls_asleep..wakes_up) -} - -fn parse_minute(pair: Pair) -> usize { - pair.into_inner().next().unwrap().as_str().parse().unwrap() -} - #[derive(Debug)] struct Record { guard_id: String, @@ -57,6 +46,17 @@ impl Record { Ok(records) } + + fn parse_sleep_range(pair: Pair) -> Range { + let mut sleep_range = pair.into_inner(); + let falls_asleep: usize = Self::parse_minute(sleep_range.next().unwrap()); + let wakes_up: usize = Self::parse_minute(sleep_range.next().unwrap()); + (falls_asleep..wakes_up) + } + + fn parse_minute(pair: Pair) -> usize { + pair.into_inner().next().unwrap().as_str().parse().unwrap() + } } #[test] @@ -104,7 +104,7 @@ impl<'a> From> for Record { .next() .unwrap() .into_inner() - .map(parse_sleep_range) + .map(Self::parse_sleep_range) .collect(); Record {