过程函数

在许多种运算中,用户常常一次又一次地对 Wolfram 语言插入同样的命令. 这时,可以通过定义一个包含输入命令的函数 来节省许多输入.

这里构造一个三项的连乘,并展开这个结果.
In[1]:=
Click for copyable input
Out[1]=
这里对四项的连乘做上面同样的事情.
In[2]:=
Click for copyable input
Out[2]=
这里定义函数 ,它构造 n 个项的连乘,然后展开.
In[3]:=
Click for copyable input
使用该函数,即可进行任意项的 Product (连乘)和 Expand (展开)运算.
In[4]:=
Click for copyable input
Out[4]=

在 Wolfram 语言中定义的函数本质上是一个过程,它执行用户给定的命令. 在过程中,可以有若干步,通过分号将其分开.

用户从整个函数中得到的结果是过程的最后表达式. 注意,在这样的定义中,必须用圆括号将过程括起来.
In[5]:=
Click for copyable input
此处运行这个过程.
In[6]:=
Click for copyable input
Out[6]=
expr1;expr2; 要进行运算的一列表达式
Module[{a,b,},proc]带有局部变量 ab 的过程

构造过程.

在 Wolfram 语言中定义过程时,把过程中的变量定义成局部变量 通常是个好主意. 这样它不会干扰过程外面的事情. 用户可以通过把过程建立模块(Module)来实现这一点,在其中用户给出要作为局部变量的变量列表.

上面定义的函数 不是一个模块,所以 的值逃出,并且甚至在函数返回的时候仍然存在.
In[7]:=
Click for copyable input
Out[7]=
这个函数被定义成带有局部变量 的模块.
In[8]:=
Click for copyable input
此函数给出与前面的函数相同的结果.
In[9]:=
Click for copyable input
Out[9]=
然而,现在 的值不再从函数中逃出.
In[10]:=
Click for copyable input
Out[10]=