Sha256: 3db8f9ff11aedc28e177457ab5f7b081450c9c5d93c90831e71c8ba1ac4f84ae
Contents?: true
Size: 726 Bytes
Versions: 1
Compression:
Stored size: 726 Bytes
Contents
module ReversePolishCalculator class Stack attr_reader :inputs, :aggregate def initialize @inputs, @aggregate = [].extend(Inputs), 0 end def add(expression) expression.split.each do |value| @inputs << Input.new(value) end end def remove(input_value) @inputs.delete_if do |input| input.value == input_value.to_s end end def calculate @aggregate = @inputs.calculate(aggregate) end def output Output.add "stack: #{@inputs.inspect}" Output.add "aggregate: #{@aggregate}" Output.display Output.clear end def unswap inputs.swapped = false end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
reverse-polish-calculator-0.0.1 | lib/reverse-polish-calculator/stack.rb |