Skip to content

Instantly share code, notes, and snippets.

@dkan
Created June 21, 2012 00:22
Show Gist options
  • Save dkan/2963122 to your computer and use it in GitHub Desktop.
Save dkan/2963122 to your computer and use it in GitHub Desktop.
RPN
class RPNCalculator
attr_accessor :calculator
def initialize
@calculator = []
@num1 = 0
@num2 = 0
end
def push(num)
calculator << num
end
def value
@value
end
def plus
@num1 = calculator.pop
@num2 = calculator.pop
@value = @num1 + @num2
calculator.push(@value)
end
def minus
@num1 = calculator.pop
@num2 = calculator.pop
@value = @num2 - @num1
calculator.push(@value)
end
def times
@num1 = calculator.pop
@num2 = calculator.pop
@value = @num2 * @num1
calculator.push(@value)
end
def divide
@num1 = calculator.pop
@num2 = calculator.pop
@value = @num2 / @num1.to_f
calculator.push(@value)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment