This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
 MATHEMATICA TUTORIAL Related Tutorials »| Functions »

Manipulating Symbols and Contexts by Name

 Symbol["name"] construct a symbol with a given name SymbolName[symb] find the name of a symbol

Converting between symbols and their names.

Here is the symbol .
 Out[1]//InputForm=
Its name is a string.
 Out[2]//InputForm=
This gives the symbol again.
 Out[3]//InputForm=
Once you have made an assignment such as , then whenever is evaluated, it is replaced by . Sometimes, however, you may want to continue to refer to itself, without immediately getting the value of .
You can do this by referring to by name. The name of the symbol is the string , and even though itself may be replaced by a value, the string will always stay the same.
The names of the symbols and are the strings and .
 Out[4]//InputForm=
This assigns a value to .
 Out[5]=
Whenever you enter it is now replaced by .
 Out[6]//InputForm=
The name is not affected, however.
 Out[7]//InputForm=
 NameQ["form"] test whether any symbol has a name which matches form Names["form"] give a list of all symbol names which match form Contexts["form`"] give a list of all context names which match form

Referring to symbols and contexts by name.

and are symbols that have been created in this Mathematica session; is not.
 Out[8]=
You can specify the form of symbol names using string patterns of the kind discussed in "String Patterns". stands, for example, for all names that start with .
This gives a list of all symbol names in this Mathematica session that begin with .
 Out[9]//InputForm=
These names correspond to built-in functions in Mathematica.
 Out[10]//InputForm=
This asks for names "close" to .
 Out[11]=
 Clear["form"] clear the values of all symbols whose names match form Clear["context`*"] clear the values of all symbols in the specified context Remove["form"] remove completely all symbols whose names match form Remove["context`*"] remove completely all symbols in the specified context

Getting rid of symbols by name.

This clears the values of all symbols whose names start with .
The name is still known, however.
 Out[13]=
But the value of has been cleared.
 Out[14]=