当进行
Mathematica 编程时,应当尽量使它的项相互独立,这样程序就容易理解、维护和扩充.
保证程序中不同相相互不影响的一个重要途径是给它的变量一定的"范围".
Mathematica 用模块和块这两种机制来限制变量的范围.
在实际编程时,模块远远比块常用,而在相互作用的计算中需要确定范围时,往往是块比较方便.
大部分计算机语言使用与
Mathematica 模块类似的词汇定界机理. 一些像LISP等符号计算语言与
Mathematica 块类似的动态定界机理.
在使用词汇定界时,变量在一个程序中的一个代码段被作为局部变量. 在动态定界时,在程序执行历史的一部分被作为局部值.
在C和Java等编译语言中,代码的执行历史之间的区分非常明显.
Mathematica 的符号特性使这个区别不明显,其原因是代码在程序的执行过程中可以动态地生成.