Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: SymbolName question

  • To: mathgroup at smc.vnet.net
  • Subject: [mg61810] Re: [mg61794] SymbolName question
  • From: "David Park" <djmp at earthlink.net>
  • Date: Mon, 31 Oct 2005 01:17:04 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

Matt,

If you want to eat your cake and have it too, that is be able to use symbols
and also have the symbols take on values, then use rules instead of
definitions.

a1rule = a1 -> Array[r, {2, 2, 2}];

Print["The symbol ", SymbolName[a1], " has a value of ", a1 /. a1rule];

David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/


From: Matt [mailto:anonmous69 at netscape.net]
To: mathgroup at smc.vnet.net


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



  • Prev by Date: Exporting notebooks to xml (cnxml)
  • Next by Date: Re: Question regarding Mathematica's treatment of whitespace
  • Previous by thread: Re: SymbolName question
  • Next by thread: Re: SymbolName question