Hal E. Fulton wrote:

> And I think Strings are not really Arrays. There are
> some isomorphisms there, since they are both "ordered
> collections of entities."

But Strings /are/ arrays, by your own definition words.  Really, a String is 
an array (read: sequence) of Characters (which are displayed with glyphs); 
words, sentances, any syntactic construction is built up of a sequence of 
Characters.

> But a string is a highly specialized thing. For one
> thing, each item has to be a character. No other
> Ruby array is limited in the kind of data it can
> contain; such an idea seems very unRubylike to me.

Good point.  But why?  Why shouldn't that array be able to contain things 
other than characters -- say, markup?  The current implementation of Ruby 
wouldn't support that, of course... but the current implementation of Ruby 
doesn't really handle the glyphs-vs-character issue very well, either, and 
binds pretty tightly strings to byte arrays.  Anyway, that's something I 
just pulled out of my ... hat.  As an example.

> No, I have to say that in this respect as in others,
> Ruby corrected C's mistake. And it was not really
> and truly a mistake in C; C is close to assembly
> language, and is not as high level as Ruby. There
> was not really another way to think of strings
> except as arrays. But we're past that now.

Are we?  The problem in C wasn't String = array; the problem was Character = 
byte.

-- 
 |..  "You need someone listening to you for it to be an actual
<|>    conversation."
/|\   
/|    
 |