Replace Operand with Operator

This commit is contained in:
TheAlgorithm476 2025-05-21 10:15:58 +02:00
parent 17020fcab4
commit 7c3ba17a36
2 changed files with 8 additions and 8 deletions

View File

@ -1,4 +1,4 @@
enum Operand { enum Operator {
case add case add
case sub case sub
case mul case mul

View File

@ -5,7 +5,7 @@ struct ViewModel {
private var numberBuffer: String = "" private var numberBuffer: String = ""
private var number1: Double? = nil private var number1: Double? = nil
private var number2: Double? = nil private var number2: Double? = nil
private var operand: Operand? = nil private var op: Operator? = nil
@State @State
private(set) var display: String = "" private(set) var display: String = ""
@ -13,7 +13,7 @@ struct ViewModel {
numberBuffer = "" numberBuffer = ""
number1 = nil number1 = nil
number2 = nil number2 = nil
operand = nil op = nil
display = "" display = ""
} }
@ -31,18 +31,18 @@ struct ViewModel {
display = numberBuffer display = numberBuffer
} }
mutating func operation(_ operand: Operand) { mutating func operation(_ op: Operator) {
guard !numberBuffer.isEmpty && number1 == nil else { return } guard !numberBuffer.isEmpty && number1 == nil else { return }
self.operand = operand self.op = op
if number1 == nil { number1 = Double(numberBuffer) } if number1 == nil { number1 = Double(numberBuffer) }
else { number2 = Double(numberBuffer) } else { number2 = Double(numberBuffer) }
numberBuffer = "" numberBuffer = ""
if operand == .sqrt { if op == .sqrt {
display = String(sqrt(number1!)) display = String(sqrt(number1!))
number1 = nil number1 = nil
self.operand = nil self.op = nil
} }
} }
@ -52,7 +52,7 @@ struct ViewModel {
var result: Double = 0.0 var result: Double = 0.0
switch operand { switch op {
case .add: case .add:
result = add_nums(number1!, number2!) result = add_nums(number1!, number2!)
case .sub: case .sub: