Class: BCDice::CommonCommand::AddDice::Node::Negate
- Inherits:
-
Object
- Object
- BCDice::CommonCommand::AddDice::Node::Negate
- Defined in:
- lib/bcdice/common_command/add_dice/node.rb
Overview
符号反転のノード
Instance Attribute Summary collapse
-
#body ⇒ Object
readonly
符号反転の対象.
Instance Method Summary collapse
-
#eval(game_system, randomizer) ⇒ Integer
ノードを評価する.
-
#expr(game_system) ⇒ String
文字列に変換する.
- #include_dice? ⇒ Boolean
-
#initialize(body) ⇒ Negate
constructor
ノードを初期化する.
-
#output ⇒ String
メッセージへの出力を返す.
-
#s_exp ⇒ String
ノードのS式を返す.
Constructor Details
#initialize(body) ⇒ Negate
ノードを初期化する
334 335 336 |
# File 'lib/bcdice/common_command/add_dice/node.rb', line 334 def initialize(body) @body = body end |
Instance Attribute Details
#body ⇒ Object (readonly)
符号反転の対象
330 331 332 |
# File 'lib/bcdice/common_command/add_dice/node.rb', line 330 def body @body end |
Instance Method Details
#eval(game_system, randomizer) ⇒ Integer
ノードを評価する
対象オペランドを再帰的に評価した後、評価結果の符号を反転する。
344 345 346 |
# File 'lib/bcdice/common_command/add_dice/node.rb', line 344 def eval(game_system, randomizer) -@body.eval(game_system, randomizer) end |
#expr(game_system) ⇒ String
文字列に変換する
355 356 357 |
# File 'lib/bcdice/common_command/add_dice/node.rb', line 355 def expr(game_system) "-#{@body.expr(game_system)}" end |
#include_dice? ⇒ Boolean
349 350 351 |
# File 'lib/bcdice/common_command/add_dice/node.rb', line 349 def include_dice? @body.include_dice? end |
#output ⇒ String
メッセージへの出力を返す
361 362 363 |
# File 'lib/bcdice/common_command/add_dice/node.rb', line 361 def output "-#{@body.output}" end |
#s_exp ⇒ String
ノードのS式を返す
367 368 369 |
# File 'lib/bcdice/common_command/add_dice/node.rb', line 367 def s_exp "(- #{@body.s_exp})" end |