class DigitConvertor
Constants
- DEFAULT_CHARS
- VERSION
Attributes
n[R]
Public Class Methods
new(chars = DEFAULT_CHARS)
click to toggle source
# File lib/digit_convertor.rb, line 8 def initialize(chars = DEFAULT_CHARS) @n = chars.size @chars = chars @chars_hash = Hash[*(@chars).zip((0..@n).to_a).flatten] end
Public Instance Methods
from(str)
click to toggle source
# File lib/digit_convertor.rb, line 24 def from(str) i = str.split('').size - 1 r = 0 str.split('').each_with_index do |c, n| r += @n ** (i-n) * @chars_hash[c] end r end
to(i)
click to toggle source
# File lib/digit_convertor.rb, line 14 def to(i) digit = [] begin i, c = i.divmod @n digit << @chars[c] end while i > 0 return digit.reverse.join '' end