Class: Code::Node::UnaryMinus
- Inherits:
-
Code::Node
- Object
- Code::Node
- Code::Node::UnaryMinus
- Defined in:
- lib/code/node/unary_minus.rb
Instance Method Summary collapse
- #evaluate(**args) ⇒ Object
-
#initialize(unary_minus) ⇒ UnaryMinus
constructor
A new instance of UnaryMinus.
Constructor Details
#initialize(unary_minus) ⇒ UnaryMinus
Returns a new instance of UnaryMinus.
4 5 6 |
# File 'lib/code/node/unary_minus.rb', line 4 def initialize(unary_minus) @statement = ::Code::Node::Statement.new(unary_minus) end |
Instance Method Details
#evaluate(**args) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/code/node/unary_minus.rb', line 8 def evaluate(**args) object = @statement.evaluate(**args) case object when ::Code::Object::Integer ::Code::Object::Integer.new(-object.raw) when ::Code::Object::Decimal ::Code::Object::Decimal.new(-object.raw) else ::Code::Object::Nothing.new end end |