Re: String[bring] vs "bring"
- To: mathgroup at smc.vnet.net
- Subject: [mg59363] Re: String[bring] vs "bring"
- From: David Bailey <dave at Remove_Thisdbailey.co.uk>
- Date: Sun, 7 Aug 2005 03:46:57 -0400 (EDT)
- References: <dd1itn$1et$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Kristen W Carlson wrote: > Hi, > > Question: What is the difference between "bring" and String[bring] ? > What is the utility of making them different? > > Question: What is the difference between "bring" and String[bring] ? > What is the utility of making them different? > > "bring" ===String[bring] > > False > > Cases[{"bring"}, _String] > > {bring} > > Cases[String[bring], _String] > > {} > > Cases[ToString[bring], _String] > > {} > > InputForm[String[bring]] > > String[bring] > > InputForm["bring"] > > "bring" > > FullForm[String[bring]] > > String[bring] > > And yet: > > Head["bring"] > > String > > FullForm["bring"] > > "bring" > > ToString[bring] > > bring > > InputForm[%] > > "bring" > > Wha???? > > Thanks, > > Kris > Hi, Perhaps your objection to this comes from experience with another language. I would not expect String["xxx"] to be the same as "xxx", just as I would not expect List[{a,b,c}] to be the same as {a,b,c}. You just have to accept that when you apply Head to a string, or a number, or a symbol, the thing that you get back has a slightly different meaning to the result you get if you apply Head to f[a,b,c]. Maybe it would have been better to have supplied two functions, one to identify atomic objects and another to get the head of a compound one - but they didn't, and it is too late now. Of course, it would be easy to write such a function. David Bailey http://www.dbaileyconsultancy.co.uk