Mathematica 中的变换规则使您可以为符号、函数及所有其它类型的表达式设置局部值. 规则的使用提供了一个强大和可扩展的方法,用您指定的值来取代另一表达式的全部或一部分.
规则的缩写形式使用一个右箭头,它可以通过输入

得到(在 - 和 > 之间无空格). 在进一步输入时,
Mathematica 前端自动将

转化为

. 任何一个符号都是
Rule 的缩写形式.
创建下述变换规则,它可以被认为是"

取

":
| Out[1]= |  |
通过观察

的输出,您可以看到该规则并不做任何事情:输出仅仅是规则本身. 这是因为当规则单独存在时,它们是没有任何作用的. 您必须将规则与表达式合用才会有所用处.
规则可以通过使用

应用于表达式(
ReplaceAll 的缩写形式). 一般的语法为

.
用

将规则用于表达式:
| Out[57]= |  |
要将多个规则用于一个表达式,要把它们放到一个列表中

:
| Out[58]= |  |
如果对同一变量给出两个规则,
Mathematica 将仅用第一个规则:
| Out[59]= |  |
用

替换

:
| Out[60]= |  |
| Out[62]= |  |
用

替换

:
| Out[65]= |  |
对

使用一个规则. 注意该规则与

完全匹配,并不影响

:
| Out[64]= |  |
要代替函数

,而不论其自变量如何,您必须在规则中使用一种模式.
| Out[18]= |  |
使用

设置的规则是即时规则. 也就是说,右端与规则同时计算:
| Out[1]= |  |
您有时可能要使用延时规则,这种规则在用于表达式之前保持不被计算. 延时规则通过
RuleDelayed 创建.
延时规则的缩写形式是

(: 和 > 之间无空格).
Mathematica 前端会自动将

转换成

. 任何一个都代表
RuleDelayed 的缩写形式:
| Out[2]= |  |
考虑这样一个问题:您希望使用一个规则来生成3个在0和1之间的随机实数. 使用即时规则生成的是3个相同的数:
| Out[3]= |  |
| Out[4]= |  |
显式使用

的赋值具有全局效应,而规则仅对使用它的表达式产生影响.
| Out[2]= |  |
使用规则将一个值赋给

:
计算

,可以看到赋给它的值并没有保存:
| Out[4]= |  |
规则必须用于表达式才有作用. 然而,您可以将一个规则赋给一个符号,然后像使用规则一样使用这个符号.
| Out[69]= |  |
由于

现在作为符号

被全局保存,您可以继续在

的地方使用

.
类似地,您可以将一个表达式赋给一个符号,然后对这个符号应用规则:
| Out[6]= |  |