有人可以向我解释haskell的功能

鲍比斯

我在互联网上找到了锻炼的解决方案,但不确定是什么。结果是正确的。

foldr (\n acc -> (n*10):acc) []

有人可以向我确切说明该功能的步骤吗?这应将列表的所有元素乘以10。

谢谢

卢博米尔·塞拉拉

foldr函数可以定义如下:

foldr :: (a -> b -> b) -> b -> [a] -> b
foldr f z []     = z
foldr f z (x:xs) = f x (foldr f z xs)

它需要一个类型的值列表a和一个类型的单个值b–累加器。它从列表中取出项目,将它们与累加器组合在一起并返回最终值。在您的情况下,a是一个数字,b实际上也是一个数字列表。您的函数的完整类型为Num a => [a] -> [a]

考虑将函数应用到列表中[1,2,3]

foldr (\n acc -> (n*10):acc) [] [1,2,3] ~~>
(\n acc -> (n*10):acc) 1 (foldr (\n acc -> (n*10):acc) [] [2,3]) ~~>
(1*10) : foldr (\n acc -> (n*10):acc) [] [2,3] ~~>
10 : foldr (\n acc -> (n*10):acc) [] [2,3] ~~>
10 : (\n acc -> (n*10):acc) 2 (foldr (\n acc -> (n*10):acc) [] [3]) ~~>
10 : (2*10) : foldr (\n acc -> (n*10):acc) [] [3]
10 : 20 : foldr (\n acc -> (n*10):acc) [] [3] ~~>
10 : 20 : (\n acc -> (n*10):acc) 3 (foldr (\n acc -> (n*10):acc) [] []) ~~>
10 : 20 : (3*10) : foldr (\n acc -> (n*10):acc) [] [] ~~>
10 : 20 : 30 : foldr (\n acc -> (n*10):acc) [] [] ~~>
10 : 20 : 30 : []

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有人可以向我详细解释这个简单的Haskell代码

来自分类Dev

PHP套接字-有人可以向我解释这些功能吗?

来自分类Dev

有人可以向我解释while循环在javascript getCookie()中的功能吗?

来自分类Dev

有人可以向我解释回调功能吗?

来自分类Dev

有人可以向我解释使用JS / jQuery创建网格的此功能吗?

来自分类Dev

有人可以向我解释此代码吗?

来自分类Dev

有人可以向我解释fromMap()和fromSnapshot()

来自分类Dev

有人可以向我解释什么是stty吗?

来自分类Dev

有人可以向我解释这种行为吗?

来自分类Dev

有人可以向我解释这段代码吗

来自分类Dev

有人可以解释指向我的指针吗

来自分类Dev

有人可以向我解释一下Java中的哨兵功能吗?或如何运作?

来自分类Dev

有人可以向我解释一下Java中的哨兵功能吗?或它是如何工作的?

来自分类Dev

我是JavaScript新手。有人可以向我解释这种语法在做什么()()

来自分类Dev

有人可以向我解释我在R中的总和的问题吗

来自分类Dev

连接问题-有人可以向我解释我做错了什么吗?

来自分类Dev

有人可以向我解释自我加入的原理

来自分类Dev

有人可以向我解释一下Java中的.getClass()方法吗?

来自分类Dev

有人可以向我解释为什么该按钮不起作用吗?

来自分类常见问题

有人可以用简单的术语向我解释Clojure换能器吗?

来自分类Dev

有人可以使用.bind()函数向我解释此代码吗?

来自分类Dev

有人可以向我解释为什么mod(-4)3 = 2而不是1?

来自分类Dev

有人可以向我解释此NASM计划的工作原理吗?

来自分类Dev

有人可以向我解释基数排序吗?

来自分类Dev

有人可以从事件循环的角度向我解释吗?

来自分类Dev

有人可以向我解释Dojo的“ dojo / on”模块中到底发生了什么吗?

来自分类Dev

有人可以向我解释这个自动热键脚本吗?

来自分类Dev

有人可以向我解释以下os.fork()示例吗?

来自分类Dev

有人可以向我解释libibverbs和librxe之间的关系吗?

Related 相关文章

  1. 1

    有人可以向我详细解释这个简单的Haskell代码

  2. 2

    PHP套接字-有人可以向我解释这些功能吗?

  3. 3

    有人可以向我解释while循环在javascript getCookie()中的功能吗?

  4. 4

    有人可以向我解释回调功能吗?

  5. 5

    有人可以向我解释使用JS / jQuery创建网格的此功能吗?

  6. 6

    有人可以向我解释此代码吗?

  7. 7

    有人可以向我解释fromMap()和fromSnapshot()

  8. 8

    有人可以向我解释什么是stty吗?

  9. 9

    有人可以向我解释这种行为吗?

  10. 10

    有人可以向我解释这段代码吗

  11. 11

    有人可以解释指向我的指针吗

  12. 12

    有人可以向我解释一下Java中的哨兵功能吗?或如何运作?

  13. 13

    有人可以向我解释一下Java中的哨兵功能吗?或它是如何工作的?

  14. 14

    我是JavaScript新手。有人可以向我解释这种语法在做什么()()

  15. 15

    有人可以向我解释我在R中的总和的问题吗

  16. 16

    连接问题-有人可以向我解释我做错了什么吗?

  17. 17

    有人可以向我解释自我加入的原理

  18. 18

    有人可以向我解释一下Java中的.getClass()方法吗?

  19. 19

    有人可以向我解释为什么该按钮不起作用吗?

  20. 20

    有人可以用简单的术语向我解释Clojure换能器吗?

  21. 21

    有人可以使用.bind()函数向我解释此代码吗?

  22. 22

    有人可以向我解释为什么mod(-4)3 = 2而不是1?

  23. 23

    有人可以向我解释此NASM计划的工作原理吗?

  24. 24

    有人可以向我解释基数排序吗?

  25. 25

    有人可以从事件循环的角度向我解释吗?

  26. 26

    有人可以向我解释Dojo的“ dojo / on”模块中到底发生了什么吗?

  27. 27

    有人可以向我解释这个自动热键脚本吗?

  28. 28

    有人可以向我解释以下os.fork()示例吗?

  29. 29

    有人可以向我解释libibverbs和librxe之间的关系吗?

热门标签

归档