module BaseConvert

rosettacode.org/wiki/Non-decimal_radices/Convert#Ruby

Constants

BASE
DIGITS
INDEXa
VERSION

Public Instance Methods

ascii_ordered?(digits=@digits) click to toggle source
# File lib/base_convert/base_convert.rb, line 24
def ascii_ordered?(digits=@digits)
  (1..(digits.length-1)).all?{|i|digits[i-1]<digits[i]}
end
toi(string=to_s, base=@base, digits=@digits) click to toggle source
# File lib/base_convert/base_convert.rb, line 3
def toi(string=to_s, base=@base, digits=@digits)
  return nil if string.empty?
  integer = 0
  string.each_char do |c|
    index = digits.index(c)
    integer = integer * base + index
  end
  integer
end
tos(integer=to_i, base=@base, digits=@digits) click to toggle source
# File lib/base_convert/base_convert.rb, line 13
def tos(integer=to_i, base=@base, digits=@digits)
  return '' if integer.nil?
  return digits[0] if integer == 0
  string = ''
  while integer > 0
    integer, index = integer.divmod(base)
    string = string.prepend digits[index]
  end
  string
end