Mathematica 9 is now available

2.6.9 上下文和程序包

典型的 Mathematica 程序包引入一些能在这个包之外使用的符号. 这些 符号可能与在包中定义的新函数或目标相对应. 约定在一个程序包 中引入的新符号放在名与该程序包的相关的上下文内. 在这个包中阅读时, Mathematica 将这个上下文加在上下文搜索路径$ContextPath 的开头.

在包中阅读以寻找 Pade` 的近似

这个包将它的上下文添加在 $ContextPath 之前

符号 Pade 在程序包设置的上下文中

可以用短名来指代这个符号

在一个程序包中定义的变量的全名往往很长,大部分情况下只需要用它的短名即可, 其原因是在这个程序包中阅读时,它的上下文被加在 $ContextPath 之中,当输入短名后就自动在这个 上下文中进行搜索.
当同一个短名出现在两个不同的程序包中时就比较困难,这时 Mathematica 就警告什么时候在第二个程序包中阅读,它告诉我们哪 一个符号在引入新符号时被屏蔽.

Calculus`Pade` context 中的符号 Pade 被新程序包中的有相同短名的符号所屏蔽

可以通过全名调用被屏蔽的符号

冲突不仅在不同程序包的符号间发生,而且也在程序包的符号与 Mathematica 的进程中引入的符号间发生. 在当前上下文中定义了符号后,这个符号将屏蔽 从程序包中读入的短名相同的符号,其原因是 Mathematica 总是在当前 上下文中寻找符号,然后才在上下文搜索路径中的 上下文中寻找符号.

在当前上下文中定义了一个函数

任何其它名为 Div 的函数将被在当前上下文中的函数屏蔽

这里为向量分析建立了坐标系

从当前上下文中完全删除 Div

这里使用了程序包中的 Div

当不需要的符号屏蔽了所需的符号时,最好的途径是用 Remove[s] 去删除 这个不需要的符号. 有时另一个合适的选择是去重新排列 $ContextPath 中的元素,重新设置 $Context 的值,以便包含所需符号的 上下文先出现.

给出一个程序包集合



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.