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.
This gives the symbol x
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.
The names of the symbols x
are the strings "x"
This assigns a value to x
Whenever you enter x
it is now replaced by 2
The name "x"
is not affected, however.
|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.
are symbols that have been created in this Mathematica
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 x
This gives a list of all symbol names in this Mathematica
session that begin with x
These names correspond to built-in functions in Mathematica
This asks for names "close" to WeierstrssP
|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 x
The name "x"
is still known, however.
But the value of x
has been cleared.
This removes completely all symbols whose names start with x
Now not even the name "x"
|Remove["Global`*"]||remove completely all symbols in the Global` context|
Removing all symbols you have introduced.
If you do not set up any additional contexts, then all the symbols that you introduce in a Mathematica
session will be placed in the Global`
context. You can remove these symbols completely using Remove["Global`*"]
. Built-in Mathematica
objects are in the System`
context, and are thus unaffected by this.