Class: Postscript::Model::Operators::Arithmetic::Add

Inherits:
Postscript::Model::Operator show all
Defined in:
lib/postscript/model/operators/arithmetic.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Postscript::Model::Operator

#accept, #operator?, register_as

Constructor Details

#initialize(operand_a:, operand_b:) ⇒ Add

Returns a new instance of Add.



18
19
20
21
22
# File 'lib/postscript/model/operators/arithmetic.rb', line 18

def initialize(operand_a:, operand_b:)
  @operand_a = operand_a
  @operand_b = operand_b
  freeze
end

Instance Attribute Details

#operand_aObject (readonly)

Returns the value of attribute operand_a.



17
18
19
# File 'lib/postscript/model/operators/arithmetic.rb', line 17

def operand_a
  @operand_a
end

#operand_bObject (readonly)

Returns the value of attribute operand_b.



17
18
19
# File 'lib/postscript/model/operators/arithmetic.rb', line 17

def operand_b
  @operand_b
end

Class Method Details

.from_operands(stack) ⇒ Object



12
13
14
15
16
# File 'lib/postscript/model/operators/arithmetic.rb', line 12

def self.from_operands(stack)
  b = stack.pop_number
  a = stack.pop_number
  new(operand_a: a, operand_b: b)
end