是一个全局变量,给出了从别名到上下文的映射的关联.
$ContextAliases
是一个全局变量,给出了从别名到上下文的映射的关联.
更多信息
- $ContextAliases 的形式为 <|"alias1`""context1`","alias2`""context2`",…|>,其中 aliasi 可以是可用于创建合法符号名称的任何字符串. contexti 必须是完全合格的上下文名称.
- 在指代符号时,可用别名代替完全合格的上下文. 对于给定的符号 context`symbol,可用名称 alias`symbol 来代替.
- 可直接对 $ContextAliases 进行修改. 调用 Needs、EndPackage 和 End 时将自动更新. »
范例
打开所有单元 关闭所有单元基本范例 (1)
范围 (8)
创建上下文别名 (4)
$ContextPath 必须是一个关联,其中的项的形式为 "alias""context`":
$ContextAliases = "NewContext`"$ContextAliases["relative`"] = "`NewContext`"$ContextAliases["1701`"] = "NewContext`"$ContextAliases["ncc1701`"] = "NewContext`"Needs 可以创建一个上下文别名:
Needs["Developer`" -> "d`"]
$ContextAliases["d`"]使用 Developer Utilities Package 中的 PackedArrayQ:
d`PackedArrayQ[Range[10]]由于 "Developer`" 不在 $ContextPath 上,将不会解析不合格的符号名称:
PackedArrayQ[Range[10]]使用上下文别名 (4)
$ContextAliases["abc`"] = "ExampleContext`";
abc`newsymbol$ContextAliases["es`"] = "ExampleContext1`SubContext2`";
es`newsymbol$ContextAliases["abc`"] = "ExampleContext`";
DeleteDuplicates[{abc`x, Symbol["abc`x"], ToExpression["abc`x"]}]$ContextAliases = <|"alias1`" -> "Context1`", "alias2`" -> "Context2`"|>;
$ContextAliases["alias1`"]=.
$ContextAliases$ContextAliases = <|"alias1`" -> "Context1`", "alias2`" -> "Context2`"|>;
$ContextAliases=.
$ContextAliases属性和关系 (9)
上下文别名适用于 ToExpression:
NewContext`fun[x_] := x ^ 2;
$ContextAliases["abc`"] = "NewContext`";
ToExpression["abc`fun[x]"]$ContextAliases["abc`"] = "NewContext`";
Hold[abc`newSymbol]Symbol 解析上下文别名:
$ContextAliases["abc`"] = "NewContext`";
abc`newSymbol
Symbol["abc`newSymbol"]在 BeginPackage 之后对别名所做的更改将在匹配的 EndPackage 之后恢复:
BeginPackage["MyPackage`"];
Needs["Experimental`" -> "ep`"];
$ContextAliases["ep2`"] = "ExamplePackage2`";
EndPackage[];
{$ContextAliases["ep`"], $ContextAliases["ep2`"]}End 将恢复 $ContextAliases 在匹配的 Begin 之前的值:
Begin["`Private`"];
$ContextAliases["ep`"] = "ExamplePackage`";
End[];
$ContextAliases默认情况下,Names 解析上下文别名:
$ContextAliases["abc`"] = "NewContext`";
abc`newSymbol;
Names["abc`newSymbol"]使用 ResolveContextAliases 选项避免对别名进行解析:
Names["abc`newSymbol", ResolveContextAliases -> False]NameQ 的行为方式同上:
{NameQ["abc`newSymbol"], NameQ["abc`newSymbol", ResolveContextAliases -> False]}默认情况下,Contexts 解析上下文别名:
$ContextAliases["abc`"] = "NewContext`";
abc`newSymbol;
Contexts["abc`"]使用 ResolveContextAliases 选项避免对别名进行解析:
Contexts["abc`", ResolveContextAliases -> False]默认情况下,Information 解析上下文别名:
$ContextAliases["abc`"] = "NewContext`";
abc`newSymbol;
Information["abc`newSymbol"]Information 解析字符串模式时也使用别名:
Information["a*c`newSymbol"]使用 ResolveContextAliases 选项避免对别名进行解析:
Information["abc`newSymbol", ResolveContextAliases -> False]不能将活动的别名添加到 $ContextPath:
$ContextAliases["abc`"] = "NewContext`";
AppendTo[$ContextPath, "abc`"];
$ContextPath技术笔记
-
▪
- 上下文 ▪
- 上下文和程序包 ▪
- 建立 Wolfram 语言程序包
相关指南
文本
Wolfram Research (2021),$ContextAliases,Wolfram 语言函数,https://reference.wolfram.com/language/ref/$ContextAliases.html.
CMS
Wolfram 语言. 2021. "$ContextAliases." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/$ContextAliases.html.
APA
Wolfram 语言. (2021). $ContextAliases. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/$ContextAliases.html 年
BibTeX
@misc{reference.wolfram_2026_$contextaliases, author="Wolfram Research", title="{$ContextAliases}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/$ContextAliases.html}", note=[Accessed: 07-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_$contextaliases, organization={Wolfram Research}, title={$ContextAliases}, year={2021}, url={https://reference.wolfram.com/language/ref/$ContextAliases.html}, note=[Accessed: 07-August-2026]}