From: Xavier Noria Date: 2007-01-28T09:03:12+09:00 Subject: Re: Question about digits On Jan 28, 2007, at 12:35 AM, CHubas wrote: > While playing a little with Ruby, I've been looking for a function > each_digit, or something similar, and I couldn't find any (standard > nor library). I think it'd be useful to have a function like that. > It's pretty simple to implement one for Integers > > class Integer > def each_digit(base = 10, &block) > return if zero? > (self/base).each_digit(base, &block) > yield self % base > end > end > > A first approach. Of course, it would be a little more complicated for > negatives and Floats, specially dealing with precision. Good. I'd expect each_digit to return strings though, since a digit is a symbol, not a number: class Integer def each_digit(base=10) abs.to_s(base).each_byte do |b| yield b.chr end end end -- fxn