Class: Code::Node::Base10Integer
- Inherits:
-
Code::Node
- Object
- Code::Node
- Code::Node::Base10Integer
- Defined in:
- lib/code/node/base_10_integer.rb
Instance Method Summary collapse
- #evaluate(**args) ⇒ Object
-
#initialize(number) ⇒ Base10Integer
constructor
A new instance of Base10Integer.
Constructor Details
#initialize(number) ⇒ Base10Integer
Returns a new instance of Base10Integer.
4 5 6 7 8 9 10 11 |
# File 'lib/code/node/base_10_integer.rb', line 4 def initialize(number) @sign = number[:sign] @whole = number.fetch(:whole) if number.key?(:exponent) @exponent = ::Code::Node::Base10Number.new(number[:exponent]) end end |
Instance Method Details
#evaluate(**args) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/code/node/base_10_integer.rb', line 13 def evaluate(**args) if @exponent exponent = @exponent.evaluate(**args) if exponent.is_a?(::Code::Object::Decimal) ::Code::Object::Decimal.new("#{sign}#{whole}", exponent: exponent) else ::Code::Object::Integer.new("#{sign}#{whole}", exponent: exponent) end else ::Code::Object::Integer.new("#{sign}#{whole}") end end |