How to | Clear My Definitions
When you set a value to a symbol, that value will be used for the symbol for the entire Mathematica session. Since symbols no longer in use can introduce unexpected errors when used in new computations, clearing your definitions is very desirable.
Assign values to two symbols (
and
) and observe their sum:
| In[1]:= |
| Out[3]= |
Use Clear to clear the definitions for
and
:
| In[4]:= |
Observe that
and
no longer have values associated with them and are treated as symbols without definitions:
| In[5]:= |
| Out[5]= |
This command clears all the definitions made during the current Mathematica session:
| In[6]:= |
Use ClearAll to clear not only the values and definitions of symbols but also the attributes and messages associated with them.
Start with a function to output a range from 0 to some positive integer:
| In[7]:= |
Notice that
returns an error when a list is given as the argument:
Now set
to be Listable, so that
maps over lists when lists are given as arguments:
| In[9]:= |
| Out[10]= |
Notice that after
is cleared, the attribute Listable still remains:
Use ClearAll to clear attributes and messages as well:
Use ClearAttributes to clear only the attributes of a function and retain its definition.
Redefine
and set it to be Listable as before:
Now use ClearAttributes and notice that while the definition of
remains, the Listable attribute is no longer present:
You can also use Unset (=.) to clear any values or definitions made to a symbol:
| In[20]:= |
| Out[20]= |
Remove will remove a symbol completely until it is referenced again:
Referring to
will bring it back into the Mathematica session:
In the case of locally defined symbols, which store values set only for a specified portion of a program, definitions are cleared automatically after use. Symbols can be locally defined by using Block or Module.

