Sha256: cbf457361cf00cf39cb21941b50e7a8357662ea90b73a20f48fa95f74e0b16d3

Contents?: true

Size: 369 Bytes

Versions: 396

Compression:

Stored size: 369 Bytes

Contents

class Octal
  BASE = 8

  attr_reader :digits
  def initialize(decimal)
    @digits = decimal.reverse.chars
  end

  def to_decimal
    decimal = 0
    digits.each_with_index do |digit, index|
      return 0 unless valid_chars.include? digit
      decimal += digit.to_i * BASE**index
    end
    decimal
  end

  def valid_chars
    [*('0'..(BASE - 1).to_s)]
  end
end

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.179 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.178 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.177 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.176 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.175 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.174 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.173 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.172 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.171 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.170 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.169 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.167 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.166 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.165 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.164 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.163 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.162 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.161 tracks/ruby/exercises/octal/.meta/solutions/octal.rb
trackler-2.2.1.160 tracks/ruby/exercises/octal/.meta/solutions/octal.rb