Function
body& または Function[body]
純関数(あるいは「無名関数」)である.その形式的なパラメータは,#(または#1),#2等である.
x ->body または xbody または Function[x,body]
単一の形式的なパラメータ x を持った純関数である.
{x1,x2,…} ->body または {x1,x2,…}body または Function[{x1,x2,…},body]
形式的なパラメータのリストを持った純関数である.
Function[params,body,attrs]
評価のために属性 attrs を持つものとして扱われる純関数である.
詳細
- Function[body]や body&が,引数の集合に適用された場合,#(または#1)は第1引数で,#2は第2引数で,と順に置換される.#0は,関数自体で置換される.
- この関数に#i より多い数の引数が存在する場合,余分になった引数は無視される. »
- ##は,与えられたすべての引数の列を表す. »
- ## n は,第 n 以降の引数を表す. »
- 連想に適用された場合,#name は#["name"]に等しく,連想中の要素を拾い出す.
- #name の形では,name 中の文字は,任意の英数字の組合せでよいが,数字で始まってはならない.
- 記号 は |->,fn あるいは \[Function]と入力する.
- Functionは,LISPや形式論理学の λ に対応する.
- Functionの属性はHoldAllである.この関数本体は,形式的なパラメータが引数と置換された後に評価される.
- Function[{x1,…},body]の名前付きの形式的なパラメータ xiは局所的なものとして取り扱われ,関数に与えられる実際の引数との混同を避けるために必要に応じて xi$と改名される. »
- Functionの構文はどのようにもネストすることができる.そのそれぞれが,内側の名前付き変数が必要に応じて改名されるスコープ構文として取り扱われる. »
- Function[params, body, attrs]の attrs は,単一の属性または属性のリストよい. »
- Function[Null,body,attrs]は,body のパラメータが#等を使って与えられる関数を表す.
例題
すべて開くすべて閉じるスコープ (15)
純関数をオプション値として使う (3)
結果として純関数を返す (4)
一般化と拡張 (4)
特性と関係 (11)
混同される可能性がある場合は常に形式的なパラメータが改名される:
Table中の式を使う:
等価のArray式内の対応する純関数を使う:
特別目的の関数構造はInterpolatingFunctionを含む:
考えられる問題 (4)
&は->よりも緩やかに拘束するので,一般に規則中にカッコが必要である:
& による拘束は?によるものよりも弱いので,一般にパターンテストでは丸カッコが必要である:
関数が適用されるまで,Functionはその本体を評価しない:
おもしろい例題 (2)
テキスト
Wolfram Research (1988), Function, Wolfram言語関数, https://reference.wolfram.com/language/ref/Function.html (2020年に更新).
CMS
Wolfram Language. 1988. "Function." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/Function.html.
APA
Wolfram Language. (1988). Function. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Function.html