gpt4 book ai didi

scala - 给定非交换关联操作,foldRight 是否等同于 foldLeft?

转载 作者:行者123 更新时间:2023-12-04 16:28:39 26 4
gpt4 key购买 nike

在一个在线类(class)中,有人说 foldLeftfoldRight等效于 的运算符结合和交换 .

其中一名学生坚持认为此类运算符只需要具有关联性。所以这个属性对于函数组合和矩阵乘法等操作应该是正确的。

据我所知,非可交换的关联运算不会产生 foldLeft 的等效结果。和 foldRight除非 z是中性的,并且操作以这样的方式累积,操作数的顺序保持不变。 IMO 在一般情况下,操作必须是可交换的。

list.foldLeft(z)(operation) == list.foldRight(z)(operation)

所以,对于 foldLeftfoldRight等效应该 operation可同时结合和可交换或者是否足以 operation要联想?

最佳答案

String连接 ("abc"+ "xyz") 是关联的但不是可交换的,并且 foldLeft/foldRight将初始/零元素放置在结果字符串的两端。如果该零元素不是空字符串,则结果不同。

关于scala - 给定非交换关联操作,foldRight 是否等同于 foldLeft?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42515868/

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