関数型プログラミング
関数型プログラミングは高度に開発され,深く統合された,Wolfram言語の中核となる機能であり,言語の記号的性質によってより豊かに,より便利になった.f[x]というような式を記号データと関数fの適用の両方として扱うことで,構造と関数を統合する非常に強力な方法と,多くの一般的な計算の効率的でエレガントな表現方法を提供する.
Function (&) — 純関数を指定する(例:(#+1)&)
関数のリストへの適用 »
Map (/@) — リストにマップする:f/@{x,y,z}⟶{f[x],f[y],f[z]}
Apply (@@) — リストに適用する:f@@{x,y,z}⟶f[x,y,z]
MapApply (@@@) — リストに適用する: f@@@{x,y,z}⟶{f@@x,f@@y,f@@z}
MapIndexed — 指標情報とともにマップする:{f[x,{1}],f[y,{2}],f[z,{3}]}
MapThread ▪ MapAt ▪ MapAll ▪ Scan ▪ BlockMap ▪ SubsetMap ▪ ...
関数のリストを引数に適用する
Comap — リストにマッピングする: Comap[{f,g,h},x]⟶{f[x],g[x],h[x]}
ComapApply — 多変量の頭部を使う: ComapApply[{f,g,…},x]⟶{f@@x,g@@x,…}
関数を繰返し適用する »
Nest,NestList,NestGraph — 関数をネストする:f[f[f[x]]]等
Fold,FoldList — 値のリストを折り込む:f[f[f[x,1],2],3]等
SequenceFold ▪ SequenceFoldList ▪ FoldPair ▪ FoldWhile ▪ ...
FixedPoint,FixedPointList — 固定点まで繰返しネストする
NestWhile ▪ NestWhileList ▪ TakeWhile ▪ LengthWhile ▪ ...
リスト指向関数 »
Select — 関数に従ってリストから選択する
Array — 関数から配列を作成する
SortBy ▪ MaximalBy ▪ SplitBy ▪ GatherBy ▪ ...
連想指向関数 »
AssociationMap — 関数から連想を作成する
KeySortBy ▪ CountsBy ▪ GroupBy ▪ ...
関数の合成 »
Identity ▪ Composition ▪ ReverseApplied ▪ Operate ▪ Through ▪ ...
カリー化演算子形式 »
OperatorApplied — 関数が演算子形で適用されるようにする
CurryApplied ▪ Select ▪ Cases ▪ Append ▪ Map ▪ Position ▪ ...