Hello again --

I wrote:

> On Thu, 3 Feb 2005, E S wrote:

> >> James Edward Gray II <james / grayproductions.net>
> >> Aihe: Re: symbols vs strings vs ?
> >>
> >> On Feb 2, 2005, at 7:53 PM, E S wrote:
> >>
> >>> Always use a Symbol rather than a String, except if you
> >>> need to be able to print the string to file/screen/etc.
> >>
> >> Hmm, don't think I agree with that.  What it you need to modify its
> >> contents?  What if you want to use some of String's many helper
> >> methods?
> >
> > The way I thought of it is that if you need to modify a string,
> > it's a string that is going to displayed somehow at some point.
> >
> > For the sake of disambiguity, however, let's amend that to
> > "Always use a Symbol rather than a constant String..."
> 
> I don't think this rigid a distinction really works out in practice.
> For example, let's say you read a string from a file, and then do some
> match operations on it.  They don't modify the string (it's constant),
> but it's a bit roundabout to do:
> 
>    sym =3D file_handle.gets.intern
>    if /xyz/.match(sym.to_s) ...

I think I misunderstood you.  You meant, I now think, things like:

   str = "a constant string"

I'm still not convinced that there's any reason to favor having such
things be symbols.  Tiny differences in speed (probably almost
literally undetectable except in loops) are worth avoiding a lot of
:"..." or "...".intern/to_sym calls, I think.


David

-- 
David A. Black
dblack / wobblini.net