[rust] Day 1 simplification
change
commit 184b4bb646144deb121001ff228bd9c4e2b710a3
author Alpha Chen <alpha.chen@gmail.com>
date
parent 3ebcf0fb
diff --git a/rust/src/day_01.rs b/rust/src/day_01.rs
index 5bd6634..cdd5863 100644
--- a/rust/src/day_01.rs
+++ b/rust/src/day_01.rs
@@ -4,17 +4,16 @@ use std::str::Chars;
 use day::Day;
 
 pub struct Day01 {
-    input: String,
+    elevator: Elevator,
 }
 
 impl Day for Day01 {
     fn new(input: String) -> Day01 {
-        Day01 { input: input }
+        Day01 { elevator: Elevator::new(input) }
     }
 
     fn solve(&self) -> io::Result<i32> {
-        let elevator = Elevator::new(&self.input);
-        Ok(1 + elevator.run().position(|f| f == -1).unwrap_or(0) as i32)
+        Ok(1 + self.elevator.run().position(|f| f == -1).unwrap_or(0) as i32)
     }
 }
 
@@ -23,8 +22,8 @@ struct Elevator {
 }
 
 impl<'a> Elevator {
-    fn new(input: &String) -> Self {
-        Elevator { instructions: input.clone() }
+    fn new(input: String) -> Self {
+        Elevator { instructions: input }
     }
 
     fn run(self: &'a Self) -> ElevatorIterator<'a> {