Class: BCDice::Arithmetic::Node::DivideBase

Inherits:
BinaryOp
  • Object
show all
Defined in:
lib/bcdice/arithmetic/node.rb

Overview

除算ノードの基底クラス

定数 ROUNDING_METHOD で端数処理方法を示す記号( ‘U’, ‘R’, ) を定義すること。また、除算および端数処理を行う divide_and_round メソッドを実装すること。

Instance Method Summary collapse

Methods inherited from BinaryOp

#s_exp

Constructor Details

#initialize(lhs, rhs) ⇒ DivideBase

ノードを初期化する

Parameters:

  • lhs (Object)

    左のオペランドのノード

  • rhs (Object)

    右のオペランドのノード



44
45
46
# File 'lib/bcdice/arithmetic/node.rb', line 44

def initialize(lhs, rhs)
  super(lhs, :/, rhs)
end

Instance Method Details

#eval(round_type) ⇒ Object



48
49
50
51
52
# File 'lib/bcdice/arithmetic/node.rb', line 48

def eval(round_type)
  l = @lhs.eval(round_type)
  r = @rhs.eval(round_type)
  divide_and_round(l, r, round_type)
end

#outputString

メッセージへの出力を返す

通常の結果の末尾に、端数処理方法を示す記号を付加する。

Returns:

  • (String)


59
60
61
# File 'lib/bcdice/arithmetic/node.rb', line 59

def output
  "#{super}#{rounding_method}"
end