Module: BaseConvert

Extended by:
BaseConvert
Included in:
BaseConvert, FromTo, Number
Defined in:
lib/base_convert/base_convert.rb,
lib/base_convert.rb,
lib/base_convert/base.rb,
lib/base_convert/chars.rb,
lib/base_convert/digits.rb,
lib/base_convert/number.rb,
lib/base_convert/from_to.rb,
lib/base_convert/configuration.rb

Overview

Defined Under Namespace

Classes: Base, Chars, Digits, FromTo, Number

Constant Summary collapse

VERSION =
'5.0.210126'
DIGITS =
Digits.new
INDEXa =
DIGITS[:P95].index('a')
BASE =

Instance Method Summary collapse

Instance Method Details

#ascii_ordered?(digits = @digits) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# 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) ⇒ Object



3
4
5
6
7
8
9
10
11
# 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) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# 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