SymbolName question
- To: mathgroup at smc.vnet.net
- Subject: [mg61794] SymbolName question
- From: "Matt" <anonmous69 at netscape.net>
- Date: Sun, 30 Oct 2005 00:43:23 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Hello,
It seems that if I want to print the 'name' of a symbol, that I need
to save it in a variable before I actually use it. Is this expected
behaviour? It would be imminently more useful if I could give any
symbol to SymbolName and it would give me a string representation of
the variable name.
e.g.
a1Name = SymbolName[a1];
a1 = Array[r, {2, 2, 2}];
Print["The symbol ", a1Name, " has a value of ", a1];
works, but if I try this:
a1 = Array[r, {2, 2, 2}];
Print["The symbol ", SymbolName[a1], " has a value of ", a1];
it doesn't, and I get the following error:
SymbolName::sym : Argument {nested list} at position 1 is expected to
be a symbol. More...
The online help states the following:
"Once you have made an assignment such as x = 2, then whenever x is
evaluated, it is replaced by 2. Sometimes, however, you may want to
continue to refer to x itself, without immediately getting the value of
x.
You can do this by referring to x by name. The name of the symbol x is
the string "x", and even though x itself may be replaced by a value,
the string "x" will always stay the same."
This seems to indicate that what I want to accomplish should in fact
work without the need to first save the string representation of a
symbol name before any value is assigned to it.
$Version
5.1 for Microsoft Windows (October 25, 2004)
Thanks,
Matt
- Follow-Ups:
- Re: SymbolName question
- From: Chris Chiasson <chris.chiasson@gmail.com>
- Re: SymbolName question