純関数
Wolfram言語では,純関数を使うことができます.これは,最後に&を付けることによって表されます.
純関数の第1引数は #
で示されます.
(これらは匿名関数,ラムダ式等とも呼ばれます.)
Javaプログラマー向けの注意事項
純関数はJavaのラムダ関数と同様に動作しますが,Wolfram言語の方がシンタックスが簡単で一貫性があります.
Pythonプログラマー向けの注意事項
Wolfram言語の純関数は,Pythonのラムダ関数と同様に動作します.Wolfram Client Library for Pythonの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
