aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/input.rs16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/input.rs b/src/input.rs
index ecb4b3f..01d0b11 100644
--- a/src/input.rs
+++ b/src/input.rs
@@ -21,7 +21,7 @@ impl Calculator {
KeyCode::Char(c) => {
self.push_to_buffer(c);
}
- KeyCode::Enter if self.input_buffer.len() > 0 => {
+ KeyCode::Enter => {
self.push_buffer_to_stack();
}
KeyCode::Backspace => {
@@ -43,23 +43,21 @@ impl Calculator {
}
self.input_buffer.push(c);
} else if let Ok(op) = Operator::parse(c) {
- if self.input_buffer.len() > 0 {
- self.push_buffer_to_stack();
- }
+ self.push_buffer_to_stack();
self.perform_operation(op);
}
}
fn push_buffer_to_stack(&mut self) {
- self.stack.push(self.input_buffer.parse::<f64>().unwrap());
- self.input_buffer = String::new();
+ if self.input_buffer.len() > 0 {
+ self.stack.push(self.input_buffer.parse::<f64>().unwrap());
+ self.input_buffer = String::new();
+ }
}
fn swap(&mut self) {
if let Some(f) = self.stack.pop() {
- if self.input_buffer.len() > 0 {
- self.push_buffer_to_stack();
- }
+ self.push_buffer_to_stack();
self.input_buffer = format!("{}", f);
}
}