函数式编程
函数式编程是 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 ▪ ...