From dfbaad1f881be6ca3e93e09da360652ba5023b7d Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Wed, 1 Feb 2023 18:30:34 -0330 Subject: push_buffer_to_stack() function --- src/main.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/main.rs b/src/main.rs index fc657a8..89c47aa 100644 --- a/src/main.rs +++ b/src/main.rs @@ -43,15 +43,13 @@ impl Calculator { self.input_buffer.push(c); } else if let Ok(op) = Operator::parse(c) { if self.input_buffer.len() > 0 { - self.stack.push(self.input_buffer.parse::().unwrap()); - self.input_buffer = String::new(); + self.push_buffer_to_stack(); } self.perform_operation(op); } } KeyCode::Enter if self.input_buffer.len() > 0 => { - self.stack.push(self.input_buffer.parse::().unwrap()); - self.input_buffer = String::new(); + self.push_buffer_to_stack(); } KeyCode::Backspace => { self.input_buffer.pop(); @@ -105,6 +103,11 @@ impl Calculator { Operator::Div => self.stack.push(lhs / rhs), } } + + fn push_buffer_to_stack(&mut self) { + self.stack.push(self.input_buffer.parse::().unwrap()); + self.input_buffer = String::new(); + } } fn main() -> io::Result<()> { -- cgit v1.2.3