From ece6b3041d0ee70a79001184d3155d044b0cfca5 Mon Sep 17 00:00:00 2001 From: Alpha Chen Date: Wed, 21 Sep 2016 17:53:41 -0700 Subject: [PATCH] [rust][day_02] Simplification --- rust/src/day_02.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/rust/src/day_02.rs b/rust/src/day_02.rs index c8f3824..bcacb32 100644 --- a/rust/src/day_02.rs +++ b/rust/src/day_02.rs @@ -1,7 +1,5 @@ pub fn solve(input: &str) -> i32 { - let presents = - input.split('\n').map(|line| Present::new(line)).collect::>(); - presents.iter().fold(0u32, |acc, present| acc + present.ribbon()) as i32 + input.lines().map(|line| Present::new(line).ribbon()).sum::() as i32 } struct Present { @@ -15,7 +13,7 @@ impl Present { fn new(input: &str) -> Self { let dimensions = input.split('x') .map(|d| d.parse::().unwrap()) - .collect::>(); + .collect::>(); Present { length: dimensions[0], width: dimensions[1], @@ -32,7 +30,7 @@ impl Present { } fn surface_area(&self) -> u32 { - self.side_areas().iter().fold(0, |acc, &area| acc + 2 * area) + self.side_areas().iter().map(|area| 2 * area).sum() } fn slack(&self) -> u32 {