在一个在线课程中指出foldLeft
和foldRight
对于关联和交换的运营商是等效的。foldRight与foldLeft相当于非对易关联操作吗?
其中一位学生坚持认为,这些操作员只需要关联。所以这个属性应该适用于像函数组合和矩阵乘法这样的操作。
至于我可以告诉关联的操作,是不可交换不会产生相同结果foldLeft
和foldRight
除非z
是中性的,并且操作以这样的方式积累的操作数的顺序保持不变。在一般情况下,IMO的操作必须是可交换的。
list.foldLeft(z)(operation) == list.foldRight(z)(operation)
所以,foldLeft
和foldRight
等同应该operation
是同时联想和交换还是不够operation
进行关联?
好的。将引用@ jwvh的字符串连接。 – Tim