2.13.5 高级专题:全局系统信息为了写出最一般的 Mathematica 程序,有时需要得到有关创立一个程序运行的全局信息. 例如,要判断所给程序是否调用 NotebookWrite 时,就要确定该 程序是否在使用这个笔记本前端的一个 Mathematica 进程中运行.通过检测全局变 量 $Notebooks 就能达到以上目的. 确定一个笔记本前端是否正在使用 Mathematica 通常被交互式地使用,它也可以按批处理模式运行,例如从一个 文件得到输入,再将结果写到另一个文件中去.在这种情况下,一个程序不可能期望 来自用户的交互式输入. 指定批处理模式运行的变量 Mathematica 内核是在所用计算的操作系统下运行的处理器. Mathematica 中有几个全局变量,它们被用来确定这个处理器的特点 和它的环境. 与 Mathematica 内核处 理器有关的变量 在一个 Mathematica 进程中使用了变量 x 时,可能要求它与另一个 Mathematica 进程中的x相同或不同. 为了保证不同进程中的对象不同,Mathematica 支持 $SessionID 变量,它利用开始时间, 处理器 ID 和机器 ID 等对每一个 Mathematica 进程给出不同的值,不论这些进程是在同一机器或不同的机器上运行. 每一个 Mathematica 进程的唯一数 Mathematica 提供了判断运行内核版本的全局变量. 这一点在编写 涉及第4版中的新特点的程序时是重要的. 可以用 $VersionNumber 去检查这些特点是否有效. 指定所用 Mathematica 版本的变量 Mathematica 的设置是尽量与所运行的计算机相独立. 如果要访问所用计算机 系统外部各个方面,就需要找到它的特征. 给出所用计算机特征的变量 Mathematica 使用 $SystemID 的值去标记含有不同计算机系统版本文件的目录. $SystemID 相同的计算机系统一般是二进制相容的. $OperatingSystem 的值为 "Unix" 和 "MacOS" 等. 通过测试 OperatingSystem 可以确定一个外部程序是否可在这个计算机上运行. 这里给出了用来产生本书例子的计算机系统的一些特征
Out[1]= |  |
识别 Mathematica 运行的计算 机的变量 与授权操作有关的变量
|