spreadsheet

terminal spreadsheet application
git clone https://git.ce9e.org/spreadsheet.git

commit
0ba74526ce86ad766008adb86ab7a575c9c04810
parent
297cf7655232c138c3e2ed0ddf409cbe943fd05d
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2024-07-06 06:42
fix: to_number on operations

Diffstat

M sheet/sheet.py 16 ++++++++++++----

1 files changed, 12 insertions, 4 deletions


diff --git a/sheet/sheet.py b/sheet/sheet.py

@@ -78,13 +78,21 @@ class Sheet:
   78    78         elif expr[0] == 'err':
   79    79             raise expr[1]
   80    80         elif expr[0] == '+':
   81    -1             return self.evaluate(expr[1]) + self.evaluate(expr[2])
   -1    81             lhs = to_number(self.evaluate(expr[1]))
   -1    82             rhs = to_number(self.evaluate(expr[2]))
   -1    83             return lhs + rhs
   82    84         elif expr[0] == '-':
   83    -1             return self.evaluate(expr[1]) - self.evaluate(expr[2])
   -1    85             lhs = to_number(self.evaluate(expr[1]))
   -1    86             rhs = to_number(self.evaluate(expr[2]))
   -1    87             return lhs - rhs
   84    88         elif expr[0] == '*':
   85    -1             return self.evaluate(expr[1]) * self.evaluate(expr[2])
   -1    89             lhs = to_number(self.evaluate(expr[1]))
   -1    90             rhs = to_number(self.evaluate(expr[2]))
   -1    91             return lhs * rhs
   86    92         elif expr[0] == '/':
   87    -1             return self.evaluate(expr[1]) / self.evaluate(expr[2])
   -1    93             lhs = to_number(self.evaluate(expr[1]))
   -1    94             rhs = to_number(self.evaluate(expr[2]))
   -1    95             return lhs / rhs
   88    96         else:
   89    97             return self.call_function(*expr)
   90    98