On Dec 28, 2005, at 10:03 AM, Rich wrote:

> I looked at the RDoc for the String class and found that the class
> includes the Enumerable module.  I'd have thought that meant that you
> could call methods like inject or collect on a string, the method
> would iterate over all the characters in the string.
>
> However, I get the following instead:
>
>> "12345".collect { |x| x.to_i}
> ==> [12345] # instead of the expected [1,2,3,4,5].
>
> Am I misunderstanding how include works in this case?  Thanks alot.

String iterates over lines of text by default, but that's easily  
changed:

 >> require "enumerator"
=> true
 >> "12345".enum_for(:each_byte).map { |byte| byte - ?0 }
=> [1, 2, 3, 4, 5]

Hope that helps.

James Edward Gray II