From: Rick DeNatale Date: 2006-10-18T00:01:11+09:00 Subject: Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) On 10/16/06, Sam Roberts wrote: > Btw, I'm assuming that #lines returns an Enumerable, not an Array, > because exploding a string into an Array of all its constituent lines > in-memory at once would be kindof heavy. It actually returns an Enumerable::Enumerator. $ irb1.9 irb(main):001:0> "abc\ndef".lines => # Note that in 1.9 the Enumerator module is part of the core and doesn't need to be required. One little quirk I just noticed is that String#lines seems to ignore a block argument. irb(main):002:0> "abc\ndef".lines {|l| puts l} => # This is at odds with what the various each methods do: irb(main):003:0> (1..3).each => # irb(main):004:0> (1..3).each {|num| puts num} 1 2 3 => 1..3 This is as of the latest 1.9 I've got installed: $ irb1.9 -v irb 0.9.5(05/04/13) $ ruby1.9 -v ruby 1.9.0 (2006-10-08) [i686-linux] I don't know if this has changed in the past week or so. -- Rick DeNatale My blog on Ruby http://talklikeaduck.denhaven2.com/ IPMS/USA Region 12 Coordinator http://ipmsr12.denhaven2.com/ Visit the Project Mercury Wiki Site http://www.mercuryspacecraft.com/