Sha256: d504df453a955919f0dd137f41de893856d91159c1a7c88221c8ab2b101cb7cd

Contents?: true

Size: 580 Bytes

Versions: 14

Compression:

Stored size: 580 Bytes

Contents

# frozen_string_literal: true

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

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

        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

14 entries across 14 versions & 1 rubygems

Version Path
code-ruby-0.9.3 lib/code/node/decimal.rb
code-ruby-0.9.2 lib/code/node/decimal.rb
code-ruby-0.9.1 lib/code/node/decimal.rb
code-ruby-0.9.0 lib/code/node/decimal.rb
code-ruby-0.8.5 lib/code/node/decimal.rb
code-ruby-0.8.4 lib/code/node/decimal.rb
code-ruby-0.8.3 lib/code/node/decimal.rb
code-ruby-0.8.2 lib/code/node/decimal.rb
code-ruby-0.8.1 lib/code/node/decimal.rb
code-ruby-0.8.0 lib/code/node/decimal.rb
code-ruby-0.7.8 lib/code/node/decimal.rb
code-ruby-0.7.7 lib/code/node/decimal.rb
code-ruby-0.7.6 lib/code/node/decimal.rb
code-ruby-0.7.5 lib/code/node/decimal.rb