haskell - `foldr` 和 `foldl` 的定义中使用了哪些类型的递归?
问题描述
foldr :: (a -> b -> b) -> b -> [a] -> b
foldr f v [] = v
foldr f v (x:xs) = f x (foldr f v xs)
和
foldl :: (a -> b -> a) -> a -> [b] -> a
foldl f v [] = v
foldl f v (x:xs) = foldl f (f v x) xs
似乎使用不同类型的递归。
foldr
和的定义中使用了哪些类型的递归foldl
?
谢谢。
解决方案
推荐阅读
- python - 在具有重复键的字典(带有值数组)中查找值
- java - rabbitmq的奇怪消息正文字节大小
- sequelize.js - 如何在数据插入期间正确定义 Sequelize 关联
- java - ClusterHealthResponse 未返回 Elastic Search 6.8 中的所有索引
- excel - VBA Excel在循环创建的最后一行之外添加值和公式
- reactjs - AntDesign TimePicker 作为 Material UI 中的输入组件
- shell - jenkins groovy shell curl命令不起作用
- r - 如何用一系列数字替换字符特定部分中的值
- excel - VBA删除范围内特定工作表内的所有空格
- python - python webscraping结果块