Class: BCDice::CommonCommand::AddDice::Node::Negate

Inherits:
Object
  • Object
show all
Defined in:
lib/bcdice/common_command/add_dice/node.rb

Overview

符号反転のノード

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(body) ⇒ Negate

ノードを初期化する

Parameters:

  • body (Object)

    符号反転の対象



334
335
336
# File 'lib/bcdice/common_command/add_dice/node.rb', line 334

def initialize(body)
  @body = body
end

Instance Attribute Details

#bodyObject (readonly)

符号反転の対象

Returns:

  • (Object)


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

ノードを評価する

対象オペランドを再帰的に評価した後、評価結果の符号を反転する。

Parameters:

Returns:

  • (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

文字列に変換する

Returns:

  • (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

Returns:

  • (Boolean)


349
350
351
# File 'lib/bcdice/common_command/add_dice/node.rb', line 349

def include_dice?
  @body.include_dice?
end

#outputString

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

Returns:

  • (String)


361
362
363
# File 'lib/bcdice/common_command/add_dice/node.rb', line 361

def output
  "-#{@body.output}"
end

#s_expString

ノードのS式を返す

Returns:

  • (String)


367
368
369
# File 'lib/bcdice/common_command/add_dice/node.rb', line 367

def s_exp
  "(- #{@body.s_exp})"
end