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