对于由 Set (=) 赋值的符号和用 SetDelayed (:=) 定义的函数,清除定义的工作原理是一样的.

定义函数或符号

定义一个函数 f

求函数或符号的定义

f 的定义:

  • 还可以用 Definition 获取符号或函数的定义.

清除函数或符号的定义

清除 f 的定义:

函数 f 不再有定义:

技术要点

重新定义一个函数之前使用 Clear 将确保没有不必要的残留定义及由此引起的潜在问题.
可以用 Unset(如 x=.)清除用 Set(如 x=2)赋值的符号.
Clear 能清除定义,但不能清除属性、消息或符号的缺省值. 用 ClearAll 可以清除所有与符号相关联的信息.
ClearClearAll 不能清除符号. 用 Remove 能完全移除符号:
Clear 之后符号 x 依然存在:
将符号完全清除: