Curry

Curry 正在被逐步淘汰,将被在版本 12.1 中实验性引入的 CurryAppliedOperatorApplied 所取代.

Curry[f,n]

表示有 n 个参数的函数 f 的运算符形式,Curry[f,n][x1][xn] 等价于 f[x1,,xn].

Curry[f]

表示两个参数的函数 f 的运算符形式,Curry[f][y][x] 等价于 f[x,y].

Curry[f,{i1,,in}]

表示有 n 个参数的函数 f 的运算符形式,Curry[f,{i1,,in}][x1][xn] 等价于 f[xi1,,xin].

Curry[f,k{i1,,in}]

表示有 n 个参数的函数 fk-参数运算符形式 Curry[f,k{i1,,in}][x1][xk] 等价于 f[xi1,,xin], 其中 kMax[{i1,,in}].

更多信息

  • Curry[f] 等价于 Curry[f,{2,1}].
  • Curry[f,n] 等价于 Curry[f,{1,2,,n}].
  • Curry[f,{i1,,in}] 等价于 Curry[f,Max[{i1,,in}]->{i1,,in}].
  • 对于选项序列 optsCurry[f,{i1,,in,opts}][x1][xk] 等价于 f[xi1,,xin,opts].
  • Curry[f,{i1,,in}] 的第 ip 个鞣制参数为 f 的第 p 个参数.
  • Curry[f,arity][x1,][y1,][z1,] 等价于 Curry[f,arity][x1,,y1,,z1,], 所以与方括号的结构无关,只与参数的个数有关.

范例

打开所有单元关闭所有单元

基本范例  (3)

鞣制两个参数的函数的第二个参数:

鞣制三个参数的函数,保留它们的顺序:

下面是鞣制形式的 Integrate,鞣制两个积分变量:

应用于变量为 的函数:

这等价于:

范围  (6)

鞣制函数的第二个参数:

应用运算符:

鞣制三个参数的函数,保留它们的顺序:

鞣制 3 个参数的函数,在传递给函数前先进行排列组合:

下面是接受 4 个参数的鞣制运算符,只有 2 个被传递给函数 f

将任意方括号结构用于鞣制运算符的参数:

鞣制带有缺省选项值的 Level

把选项传递给 Level

应用  (5)

鞣制三个函数的 Composition

依次传递三个函数:

对表达式应用该 composition:

指定多少个参数是要被复合的函数:

Curry 构建给定排序的函数的逆序:

构建由带有下标的变量组成的数组:

Curry 构建 K 和 S combinator:

SKK 和 SKS 组合等价于以下恒等式:

用 S 和 K 构建 B 和 C combinator:

属性和关系  (6)

Curry[f] 等价于 Curry[f,{2,1}]

对于没有参数的函数,Curry[f,0] 返回 f[]

即便提供了额外参数,依然会插入空的方括号:

鞣制 Curry 自身:

Construct 相比:

对于正的 nCurry[Construct,n][f] 等价于 Curry[f,n-1]

对于 n=1 也一样成立:

组合两个 Curry 运算符,置换与逆置换:

结果与不对参数重新排序时使用 Curry 等价:

接受两个同样长度的置换列表:

组合相应的 Curry 运算符:

或者将 Curry 用于置换后的结果,使用同样的顺序:

Wolfram Research (2018),Curry,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Curry.html.

文本

Wolfram Research (2018),Curry,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Curry.html.

CMS

Wolfram 语言. 2018. "Curry." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/Curry.html.

APA

Wolfram 语言. (2018). Curry. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Curry.html 年

BibTeX

@misc{reference.wolfram_2024_curry, author="Wolfram Research", title="{Curry}", year="2018", howpublished="\url{https://reference.wolfram.com/language/ref/Curry.html}", note=[Accessed: 18-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_curry, organization={Wolfram Research}, title={Curry}, year={2018}, url={https://reference.wolfram.com/language/ref/Curry.html}, note=[Accessed: 18-November-2024 ]}