函数式编程

函数式编程是 Wolfram 语言的高度发展和深度集成的核心功能,在该语言的符号功能下变得越来越丰富,越来越方便. 将表达式 f[x] 同时视为符号数据和 f 函数的应用,这提供了集成结构和函数的独一无二的方式许多普通计算的高效简洁的表示方式.

Function (&) 指定一个纯函数 (例如: (#+1)&)

#, ##, #name 纯函数中变量的插符

函数作用于列表 »

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  ▪  ...