Module: Polyfill::V2_4::Integer::Instance::Digits::Method

Defined in:
lib/polyfill/v2_4/integer/instance/digits.rb

Instance Method Summary collapse

Instance Method Details

#digits(base = 10) ⇒ Object

Raises:

  • (Math::DomainError)


7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/polyfill/v2_4/integer/instance/digits.rb', line 7

def digits(base = 10)
  base = base.to_int
  raise Math::DomainError, 'out of domain' if self < 0
  raise ArgumentError, 'negative radix' if base < 0
  raise ArgumentError, "invalid radix #{base}" if base < 2

  acc = []
  remainder = self
  while remainder > 0
    remainder, value = remainder.divmod(base)
    acc.push(value)
  end
  acc
end