纯函数
Wolfram 语言允许调用 纯函数,由 & 结尾,第一个参数由 #
指明:
(这些也被称为匿名函数、拉姆达表达式等.)
Java 程序员备注:
纯函数与 Java 中的拉姆达表达式工作方法类似,但语法在 Wolfram 语言中更简洁统一.
Python 程序员备注:
Wolfram 语言中的纯函数与 Python 中的拉姆达表达式工作方法类似. Python 用 Wolfram 客户端库中的 language.wlexpr 函数可用于在 Python 环境中定义并计算 Wolfram 语言纯函数.
创建一个加1的纯函数:
In[1]:=1

(# + 1) &
Out[1]=1

如果纯函数以表达式的标头给出,会对参数应用该函数:
In[2]:=2

(# + 1) &[50]
Out[2]=2

这是一个具有多个参数的函数:
In[3]:=3

{#2, 1 + #1, #1 + #2} &[a, b]
Out[3]=3

可用其它方法指定函数:
In[4]:=4

Function[{x, y}, {y, 1 + x, x + y}][a, b]
Out[4]=4

Java 程序员备注:
Wolfram 语言纯函数比 Java 的拉姆达表达式提供了更简单的语法来包含多个参数.
Python 程序员备注:
Wolfram 语言纯函数可以用 # 或给定明确的名称来表示参数. Python 的拉姆达函数则始终需要名称参数.
很多内置函数常使用纯函数:
In[1]:=1

Select[{1, 4, 6, 8, 10, 15}, # > 7 &]
Out[1]=1

In[2]:=2

NestList[f[#, #] &, a, 3]
Out[2]=2
