Class: Code::Node::Base10
- Inherits:
-
Code::Node
- Object
- Code::Node
- Code::Node::Base10
- Defined in:
- lib/code/node/base_10.rb
Instance Method Summary collapse
- #evaluate(**args) ⇒ Object
-
#initialize(parsed) ⇒ Base10
constructor
A new instance of Base10.
Methods inherited from Code::Node
Constructor Details
#initialize(parsed) ⇒ Base10
Returns a new instance of Base10.
6 7 8 9 10 11 12 13 14 |
# File 'lib/code/node/base_10.rb', line 6 def initialize(parsed) @whole = parsed.delete(:whole) if parsed.key?(:exponent) @exponent = Node::Statement.new(parsed.delete(:exponent)) end super(parsed) end |
Instance Method Details
#evaluate(**args) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/code/node/base_10.rb', line 16 def evaluate(**args) if @exponent exponent = @exponent.evaluate(**args) if exponent.is_a?(::Code::Object::Integer) ::Code::Object::Integer.new(@whole.to_i, exponent:) else ::Code::Object::Decimal.new(@whole, exponent:) end else ::Code::Object::Integer.new(@whole.to_i) end end |