【发布时间】:2011-12-14 21:46:09
【问题描述】:
在 Mathematica 中,ClearAll 的文档指出:
ClearAll[symb1, symb2, ...]
用符号清除值、定义、属性、消息和默认值。
它还支持类似的格式,它可以清除与输入字符串模式匹配的任何值/定义:
ClearAll["form1", "form2", ...]
但也有函数Remove,文档说:
Remove[symbol1, ...]
完全删除符号,因此 Mathematica 不再识别它们的名称。
它还支持ClearAll 支持的基于模式的字符串输入。
在我看来,这两个函数似乎完成了完全相同的事情。使用其中一种有什么实际区别吗?
我知道如果我为符号赋予属性,Clear 不会删除它,但 ClearAll 和 Remove 会。但似乎Remove 和ClearAll 正在做同样的事情。
【问题讨论】:
-
这个最近的 Mathgroup 线程似乎很相关:groups.google.com/group/comp.soft-sys.math.mathematica/…。特别注意该线程中 Oleksandr Rasputinov 的第三篇文章(距离线程开头的第 15 个)-他给出了一些很好的理由说明何时可能需要
Remove以及它的特别之处。