ClearAll
范例
打开所有单元 关闭所有单元基本范例 (1)
范围 (16)
符号输入 (11)
x = 5;xClearAll[x]xfact[1] = 1;
fact[n_] := n fact[n - 1]fact[3]ClearAll[fact]fact[3]h/:f[h[x_]] := hf[x]f[h[x]]ClearAll[h]f[h[x]]f[x_][y_] := h[x, y]f[x][y]ClearAll[f]f[x][y]Format[kappa] := κkappaClearAll[kappa]kappaSetAttributes[f, Listable];f[{x, y}]ClearAll[f]f[{x, y}]Default[f] = 0;
f[x_.] := x ^ 2f[]ClearAll[f]f[]Options[f] = {opt1 -> def1, opt2 -> def2};OptionValue[f, opt1]ClearAll[f]OptionValue[f, opt1]f::usage = "f[x] gives (x - 1)(x + 1)";Message[f::usage]ClearAll[f]Message[f::usage]a = 5;
f[x_] := x ^ 3f[a]ClearAll[a, f]f[a]x1 = 1;x2 = 3;x3 = 5;ClearAll[{x1, "x2"}]{x1, x2, x3}使用模式 (5)
x1 = 1;x2 = 3;y = 5;ClearAll["x*"]{x1, x2, y}x1 = 1;x2 = 3;y = 5;ClearAll["`*"]{x1, x2, y}abc`x1 = 1;abc`x2 = 3;abc`y = 5;ClearAll["abc`*"]{abc`x1, abc`x2, abc`y}使用 StringExpression 清除当前环境中的所有 2 个字符的符号:
x1 = 1;x2 = 3;y = 5;ClearAll["`" ~~ _ ~~ _]{x1, x2, y}使用 RegularExpression 清除当前环境中的所有 3 个字符的符号:
x = 1;yy = 3;zzz = 5;ClearAll[RegularExpression["`..."]]{x, yy, zzz}应用 (2)
ClearAll[fib]fib[1] = fib[2] = 1;
fib[n_] := fib[n] = fib[n - 1] + fib[n - 2]fib[5]Begin["`Private`"];Unprotect["`*"];
ClearAll["`*"];f[x_] := x ^ 2Protect[f];End[];属性和关系 (6)
ClearAll[pattern] 与 ClearAll/@Names[pattern] 清除相同的符号:
x = 1;y = 2; xy = 3;
ClearAll["x*"];
{x, y, xy}x = 1;y = 2; xy = 3;
ClearAll /@ Names["x*"];
{x, y, xy}Clear 不删除属性, 缺省值或选项:
SetAttributes[f, Listable];
Default[f] = 0;
Options[f] = {opt1 -> def1, opt2 -> def2};
f[x_.] := x ^ 2Clear[f]Definition[f]利用 ClearAll 清除一切:
ClearAll[f]Definition[f]Clear 不会删除消息:
f::usage = "f[x] gives (x - 1)(x + 1)";Clear[f]Message[f::usage]使用 ClearAll 可清除消息:
ClearAll[f]Message[f::usage]ClearAll 删除所有的属性和定义,但保留符号:
SetAttributes[f, Listable];
f[x_] := x ^ 2ClearAll[f]? fRemove 彻底删除该符号:
Remove[f]? f利用 Unset (=.) 清除特定左手边的定义:
SetAttributes[fact, Listable];
fact[0] = 1;
fact[n_Integer] /; n > 0 := n fact[n - 1]
fact[n_Integer] /; n < 0 := -∞fact[0]=.Definition[fact]ClearAll[fact]Definition[fact]Definition[ClearAll]symbol = {"x", "y", "z"};x = 1;y = 3;z = 5;ClearAll[symbol]{symbol, x, y, z}symbol = {"x", "y", "z"};ClearAll[Evaluate[symbol]]{symbol, x, y, z}可能存在的问题 (3)
x = 5;
Protect[x];ClearAll[x]利用 Unprotect 清除受保护符号的定义:
Unprotect[x];
ClearAll[x]Clear 可以清除锁定符号的值和定义:
f[x_] := x ^ 2;
SetAttributes[f, Locked]Definition[f]Clear[f]Definition[f]ClearAll 不影响锁定的符号:
f[x_] := x ^ 2ClearAll[f]Definition[f]当使用没有上下文标记的模式时,$ContextPath 上的所有匹配符号被清除:
x = 1;y = 2;xy = 3;
ClearAll[_ ~~ _]xy使用带有明确上下文标记的模式,避免与系统或其他上下文中的符号潜在匹配:
ClearAll["`" ~~ _]相关的工作流程
- 清除符号和函数的定义
历史
1988年引入 (1.0) | 在以下年份被更新:2022 (13.2)
文本
Wolfram Research (1988),ClearAll,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ClearAll.html (更新于 2022 年).
CMS
Wolfram 语言. 1988. "ClearAll." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2022. https://reference.wolfram.com/language/ref/ClearAll.html.
APA
Wolfram 语言. (1988). ClearAll. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ClearAll.html 年
BibTeX
@misc{reference.wolfram_2026_clearall, author="Wolfram Research", title="{ClearAll}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/ClearAll.html}", note=[Accessed: 18-July-2026]}
BibLaTeX
@online{reference.wolfram_2026_clearall, organization={Wolfram Research}, title={ClearAll}, year={2022}, url={https://reference.wolfram.com/language/ref/ClearAll.html}, note=[Accessed: 18-July-2026]}