How to| 清除我的定义

当一个符号被赋值,该符号将在整个 Mathematica 进程中使用该值. 不再使用的符号在用于新的计算时可能会导致意外的错误,清除您的定义是非常必要的.

为两个符号()赋值并观察它们的和:

In[1]:=
Click for copyable input
Out[3]=

Clear 清除 的值:

In[4]:=
Click for copyable input

可以看到不再有任何值与 ,它们被当作没有任何定义的符号:

In[5]:=
Click for copyable input
Out[5]=

这个命令用于清除在当前 Mathematica 进程中的所有定义:

In[6]:=
Click for copyable input
    

使用 ClearAll 不仅可以清除符号的值和定义,还可以清除与之关联的属性和信息.

从一个在0 与某个正整数范围内进行输出的函数开始:

In[7]:=
Click for copyable input

注意当一个列表作为参数给出时, 将返回一条错误信息:

In[8]:=
Click for copyable input
Out[8]=

现在设置 的属性为 Listable,这样当参数为列表时, 将映射列表:

In[9]:=
Click for copyable input
Out[10]=

注意在清除了 之后,属性 Listable 仍然存在:

使用 ClearAll 清除属性和信息:

    

使用 ClearAttributes 仅清除函数的属性,它的定义仍然保留.

重新定义 ,并设置其为先前的 Listable

现在使用 ClearAttributes,尽管 的定义仍保留着,它已经不具有 Listable 属性:

    

也可使用 Unset (=.) 清除一个符号的任何定义值:

In[20]:=
Click for copyable input
Out[20]=
    

Remove 将完全清除一个符号,直到它被再次引用:

的引用使其再次回到该 Mathematica 进程:

In[25]:=
Click for copyable input
Out[25]=
    

对于局部定义的符号,其存储的值只在程序的特定部分使用,定义在使用后自动清除. 使用 BlockModule 可以对符号进行局部定义.

New to Mathematica? Find your learning path »
Have a question? Ask support »