Sha256: 0d9a6d4097103fb1871ff76d09da7b0ba953e714e59ca860fcdc8abaebfc2b77

Contents?: true

Size: 572 Bytes

Versions: 10

Compression:

Stored size: 572 Bytes

Contents

# frozen_string_literal: true

class Code
  class Node
    class Decimal < Node
      def initialize(parsed)
        @decimal = parsed.delete(:decimal)

        if parsed.key?(:exponent)
          @exponent = Node::Statement.new(parsed.delete(:exponent))
        end

        super(parsed)
      end

      def evaluate(**args)
        if @exponent
          ::Code::Object::Decimal.new(
            @decimal,
            exponent: @exponent.evaluate(**args)
          )
        else
          ::Code::Object::Decimal.new(@decimal)
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
code-ruby-0.10.4 lib/code/node/decimal.rb
code-ruby-0.10.3 lib/code/node/decimal.rb
code-ruby-0.10.2 lib/code/node/decimal.rb
code-ruby-0.10.1 lib/code/node/decimal.rb
code-ruby-0.10.0 lib/code/node/decimal.rb
code-ruby-0.6.4 lib/code/node/decimal.rb
code-ruby-0.6.3 lib/code/node/decimal.rb
code-ruby-0.6.2 lib/code/node/decimal.rb
code-ruby-0.6.1 lib/code/node/decimal.rb
code-ruby-0.6.0 lib/code/node/decimal.rb