Christopher Swasey wrote: > On 3/11/08, Clifford Heath <no / spam.please.net> wrote: >> I've just been tripped up by this behaviour, which I haven't >> seen documented anywhere: >> >> "hello".to_a #=> ["hello"] >> "".to_a #=> [] >> >> Why does an empty string get omitted from the array? >> Why doesn't Enumerable#to_a document this behaviour of strings? >> This is completely broken (Ruby 1.8.6) > > I disagree. #to_a doesn't just encase the string object in an > otherwise empty array, rather it casts the string to an array, as > appropriate: > > "".to_a => [] > "test".to_a => ["test"] > "this\nis\na\n\test".to_a => ["this\n", "is\n", "a\n", "test"] > > The array equivalent of an empty string is an empty array. Both, for > instance, have a #size of 0. To add to that: the way I've understood it is that, in the context of a String, the Enumerable methods treat it as an enumeration of lines. -- vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407