Project

General

Profile

Feature #12447

Integer#digits for extracting digits of place-value notation in any base

Added by mrkn (Kenta Murata) about 4 years ago. Updated almost 4 years ago.

Status:
Closed
Priority:
Normal
Target version:
-
[ruby-core:75799]

Description

I sometimes want to extract digits of place-value notation of integer numbers.

For example:

12345.digits      #=> [5, 4, 3, 2, 1]
12345.digits(100) #=> [45, 23, 1]

One typical use case is calculating checksum digit.
I found some code extracting digits by the way like int.to_s.chars.map(&:to_i).

Introducing Integer#digits can reduce needless string allocation in such cases.

The patch was pushed into the repository in github.
https://github.com/mrkn/ruby/commit/5dce32d


Related issues

Related to Ruby master - Feature #4787: Integer#each_modulo(n)Closedmatz (Yukihiro Matsumoto)Actions
Related to Ruby master - Feature #12116: `Fixnum#divmod`, `Bignum#divmod` with multiple argumentsOpenActions
Related to Ruby master - Feature #16011: Digit groupingRejectedmatz (Yukihiro Matsumoto)Actions

Also available in: Atom PDF