Class: FifthedSim::SubtractionNode

Inherits:
DiceExpression show all
Defined in:
lib/fifthed_sim/nodes/subtraction_node.rb

Instance Method Summary collapse

Methods inherited from DiceExpression

#*, #+, #-, #/, #average, #difference_from_average, #max, #min, #or_greater, #or_least, #percentile, #range, #test_then, #to_dice_expression, #to_f, #to_i

Constructor Details

#initialize(lhs, rhs) ⇒ SubtractionNode

Returns a new instance of SubtractionNode.



5
6
7
8
# File 'lib/fifthed_sim/nodes/subtraction_node.rb', line 5

def initialize(lhs, rhs)
  @lhs = lhs
  @rhs = rhs
end

Instance Method Details

#distributionObject



18
19
20
# File 'lib/fifthed_sim/nodes/subtraction_node.rb', line 18

def distribution
  @lhs.distribution.convolve_subtract(@rhs.distribution)
end

#rerollObject



14
15
16
# File 'lib/fifthed_sim/nodes/subtraction_node.rb', line 14

def reroll
  self.class.new(@lhs.reroll, @rhs.reroll)
end

#valueObject



10
11
12
# File 'lib/fifthed_sim/nodes/subtraction_node.rb', line 10

def value
  @lhs.value - @rhs.value
end