Skip to content

Instantly share code, notes, and snippets.

@chadwickdonald
Created June 16, 2012 02:46
Show Gist options
  • Save chadwickdonald/2939696 to your computer and use it in GitHub Desktop.
Save chadwickdonald/2939696 to your computer and use it in GitHub Desktop.
reverse polish notation calculator
class RPNCalculator
attr_accessor :value
def initialize()
@numbers = []
@value = 0
end
def push(num)
@numbers << num
end
def plus
@value = @numbers.pop + @numbers.pop
push(@value)
@value
end
def minus
n1 = @numbers.pop
n2 = @numbers.pop
@value = n2-n1
push(@value)
@value
end
def times
@value = @numbers.pop * @numbers.pop
push(@value)
@value
end
def divide
n1 = @numbers.pop #4
n2 = @numbers.pop #3
@value = n2.to_f/n1.to_f
push(@value)
@value
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment