<A NAME=CLEAR>
<TITLE>CLEAR</TITLE></A>
<b><a href=r37_idx.html>INDEX</a></b><p><p>
<B>CLEAR</B> _ _ _ _ _ _ _ _ _ _ _ _ <B>command</B><P>
<P>
The <em>clear</em> command is used to remove assignments or remove substitution
rules from any expression.
<P>
<P>
<P> <H3>
syntax: </H3>
<em>clear</em><identifier>{,<identifier>}+ or
<P>
<P>
<let-type statement> <em>clear</em> <identifier>
<P>
<P>
<P>
<identifier> can be any <em>scalar</em>,
<A HREF=r37_0345.html>matrix</A>,
or
<A HREF=r37_0188.html>array</A> variable or
<A HREF=r37_0055.html>procedure</A> name. <let-type statement> can be any
general
or specific
<A HREF=r37_0199.html>let</A> statement (see below in Comments).
<P>
<P>
<P> <H3>
examples: </H3>
<P><PRE><TT>
array a(2,3);
a(2,2) := 15;
A(2,2) := 15
clear a;
a(2,2);
Declare A operator? (Y or N)
let x = y + z;
sin(x);
SIN(Y + Z)
clear x;
sin(x);
SIN(X)
let x**5 = 7;
clear x;
x**5;
7
clear x**5;
x**5;
5
X
</TT></PRE><P>Although it is not a good idea, operators of the same name but tak
ing
different numbers of arguments can be defined. Using a <em>clear</em> statement
on any of these operators clears every one with the same name, even if the
number of arguments is different.
<P>
<P>
The <em>clear</em> command is used to ``forget" matrices, arrays, operators
and scalar variables, returning their identifiers to the pristine state
to be used for other purposes. When <em>clear</em> is applied to array
elements, the contents of the array element becomes the argument for
<em>clear</em>. Thus, you get an error message if the element contains a
number, or some other expression that is not a legal argument to
<em>clear</em>. If the element contains an identifier, it is cleared.
When clear is applied to matrix elements, an error message is returned
if the element evaluates to a number, otherwise there is no effect. Do
not try to use <em>clear</em> to set array or matrix elements to 0.
You will not be pleased with the results.
<P>
<P>
If you are trying to clear power or product substitution rules made with
either
<A HREF=r37_0199.html>let</A> or
<A HREF=r37_0195.html>forall</A>...<em>let</em>, you must
reproduce the rule, exactly as you typed it with the same arguments, up to
but not including the equal sign, using the word <em>clear</em> instead of
the word <em>let</em>. This is shown in the last example. Any other type of
<em>let</em> or <em>forall</em>...<em>let</em> substitution can be cleared
with just the variable or operator name.
<A HREF=r37_0205.html>match</A> behaves the same as
<A HREF=r37_0199.html>let</A> in this situation. There is a more complicated exa
mple under
<A HREF=r37_0195.html>forall</A>.
<P>
<P>
<P>
<P>