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.

The reason for this is that Enumerable merely wraps the
object's #each method. In the case of String, #each by
default splits the string at each line (as determined
by the record separator constant $/).

Using Enumerator works around this nicely :)

> -Rich


E


-- 
Posted via http://www.ruby-forum.com/.