Class: Postscript::Model::Operators::Arithmetic::Sub

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:) ⇒ Sub

Returns a new instance of Sub.



33
34
35
36
37
# File 'lib/postscript/model/operators/arithmetic.rb', line 33

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.



32
33
34
# File 'lib/postscript/model/operators/arithmetic.rb', line 32

def operand_a
  @operand_a
end

#operand_bObject (readonly)

Returns the value of attribute operand_b.



32
33
34
# File 'lib/postscript/model/operators/arithmetic.rb', line 32

def operand_b
  @operand_b
end

Class Method Details

.from_operands(stack) ⇒ Object



27
28
29
30
31
# File 'lib/postscript/model/operators/arithmetic.rb', line 27

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