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/.