Class: ProportionMultiplyInstruction
- Inherits:
-
Instruction
- Object
- Instruction
- ProportionMultiplyInstruction
- Defined in:
- lib/instructions/proportion/proportion_multiply.rb
Overview
pops the top 2 items of the :proportion
stack; pushes a ValuePoint with their product onto the :proportion
stack
needs: 2 :proportion
pushes: 1 :proportion
Instance Attribute Summary
Attributes inherited from Instruction
Instance Method Summary collapse
Methods inherited from Instruction
all_instructions, #go, inherited, #initialize, #needs, #pushes, to_nudgecode
Constructor Details
This class inherits a constructor from Instruction
Instance Method Details
#cleanup ⇒ Object
20 21 22 |
# File 'lib/instructions/proportion/proportion_multiply.rb', line 20 def cleanup pushes :proportion, @result end |
#derive ⇒ Object
17 18 19 |
# File 'lib/instructions/proportion/proportion_multiply.rb', line 17 def derive @result = ValuePoint.new("proportion", @arg1 * @arg2) end |
#preconditions? ⇒ Boolean
10 11 12 |
# File 'lib/instructions/proportion/proportion_multiply.rb', line 10 def preconditions? needs :proportion, 2 end |
#setup ⇒ Object
13 14 15 16 |
# File 'lib/instructions/proportion/proportion_multiply.rb', line 13 def setup @arg2 = @context.pop_value(:proportion) @arg1 = @context.pop_value(:proportion) end |