gpt4 book ai didi

linq - "foldable"函数的正式术语是什么?

转载 作者:行者123 更新时间:2023-12-04 23:28:51 27 4
gpt4 key购买 nike

我使用 LINQ Aggregate 运营商经常。本质上,它允许您通过在函数的最后一个计算值和序列的下一个元素上重复应用该函数,在序列上“累加”一个函数。

例如:

int[] numbers = ...
int result = numbers.Aggregate(0, (result, next) => result + next * next);

将计算数组元素的平方和。

经过一番谷歌搜索,我发现函数式编程中的通用术语是 "fold" .

现在我认为可以用这个运算符计算的函数只需要满足(如果我错了请纠正我):
f(x1, x2, ..., xn) = f(f(x1, x2, ..., xn-1), xn)

这个属性似乎很常见,值得一个特殊的名字。有吗?

最佳答案

Iterated binary operation可能是您正在寻找的。

您还需要添加一些停止条件,如

f(x) = something
f(x1,x2) = something2

他们定义了一个二元运算 f和另一个功能 F在我提供的链接中处理当您进入 f(x1,x2) 时会发生什么情况.

关于linq - "foldable"函数的正式术语是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8098548/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com