WOLFRAM 语言教程

定义的顺序

在 Wolfram 系统中给出一系列定义时,一部分总是比另一部分更一般一些. Wolfram 系统中的原则是:一般定义在特殊定义之后使用. 这意味着,规则的特例总是在一般情况之前试用.

这种行为对于 "定义函数" 节中给出的阶乘函数特别重要. 不管输入方式如何,Wolfram 系统总是把特殊规则 放在 之前. 这意味着,当 Wolfram 系统在计算形如 f[n] 的表达式时,先测试 ,当它不能用时,再使用一般情况 . 所以,在计算 时,Wolfram 系统将一直使用一般规则直到终止条件 使用了为止.

Wolfram 系统总是将特殊规则放在一般规则之前.

Wolfram 系统中定义的处理.

如果 Wolfram 系统不遵循上述原则,则特殊规则将会被一般规则所屏蔽. 在阶乘的定义中,如果规则 在规则 之前使用,则 Wolfram 系统即使在求 时也会用 规则,而 规则永远不会被使用.

的一般定义.
In[1]:=
Click for copyable input
特殊情况 的定义.
In[2]:=
Click for copyable input
Out[2]=
Wolfram 系统将特殊情形放在一般情形之前.

在像上面给出的阶乘一类的定义中,可以很明显地看出哪一个更一般一些. 但通常给出的规则没有确定的顺序,这时, Wolfram 系统就按给出的顺序使用它们.

这些规则没有明确的顺序.
In[4]:=
Click for copyable input
Wolfram 系统按顺序保存这些规则.
的一个特例.
In[6]:=
Click for copyable input
Wolfram 系统将特殊规则放在一般规则之前.

尽管在许多情况下,Wolfram 系统能判断哪一个规则更一般一些,但总有些例外. 例如,在两个含有 的规则中,就无法确定哪一个更一般,事实上也没有明确的顺序. 在顺序不清楚时,Wolfram 系统总是按输入顺序保存规则.