diff options
| -rw-r--r-- | calc.go | 9 | ||||
| -rw-r--r-- | ui.go | 4 |
2 files changed, 4 insertions, 9 deletions
@@ -51,20 +51,17 @@ func (c *Calculator) negate() { } // performOp performs the specified arithmetic operation. -func (c *Calculator) performOperation(operator byte) error { +func (c *Calculator) performOperation(operator byte) { fn, err := parseOperator(operator) if err != nil { - return err + return } - lhs, rhs, err := c.operands() if err != nil { - return err + return } - c.stack.push(fn(lhs, rhs)) c.buf = "" - return nil } // operands returns the left and right operands, or error if there are not enough. @@ -54,9 +54,7 @@ func (ui UI) Update(msg tea.Msg) (tea.Model, tea.Cmd) { ui.calc.negate() case "+", "-", "*", "/", "%", "^": operator := msg.String()[0] - if err := ui.calc.performOperation(operator); err != nil { - panic(err) - } + ui.calc.performOperation(operator) case "backspace": if len(ui.calc.buf) > 0 { ui.calc.buf = ui.calc.buf[:len(ui.calc.buf)-1] |