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