为什么这个Haskell程序反斜杠?

迈克尔·克里斯滕森

我是Haskell的新手,并编写了此程序来练习函数式编程。除了两件事,我不知道这是否是一个好的程序。

  • 它有效(它向我显示了Collat​​z树中从6到1的路径)
  • 它打印太多反斜杠
next_step :: Integer -> Integer
collatz :: Integer -> String

next_step n = do
        if (n `mod` 2) == 0 then
                n `div` 2
        else
                (n * 3) + 1

collatz 1 = "1"
collatz n = (show n) ++ " -> " ++ (show (collatz (next_step n)))

main = putStrLn (collatz 6)

输出:

6 -> "3 -> \"10 -> \\\"5 -> \\\\\\\"16 -> \\\\\\\\\\\\\\\"8 -> \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"4 -> \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"2 -> \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\"\\\"\""

我希望反斜杠消失。

快乐戴夫

collatz已经返回了一个字符串,因此您无需调用show它:

collatz n = show(n) ++ " -> " ++ collatz (next_step n)

使用show添加引号,然后由于嵌套引号而引起反斜杠。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么这个Haskell程序比等效的Python程序慢得多?

来自分类Dev

为什么这个变量组合输出带有 2 个反斜杠的答案?

来自分类Dev

为什么在这个 apt install 命令上有反斜杠 `\` 换行符?

来自分类Dev

为什么这个Haskell程序分配这么多内存?

来自分类Dev

为什么这个Monte Carlo Haskell程序这么慢?

来自分类Dev

为什么这个Monte Carlo Haskell程序这么慢?

来自分类Dev

为什么grep需要双反斜杠?

来自分类Dev

为什么单反斜杠变成双反斜杠

来自分类Dev

为什么这个Haskell代码这么慢?

来自分类Dev

为什么这个[haskell]编译错误?

来自分类Dev

反斜杠空间在Haskell中意味着什么

来自分类Dev

为什么在PHP中3个反斜杠等于4个反斜杠?

来自分类Dev

为什么 Url 将反斜杠解码为 2 个反斜杠

来自分类Dev

C预处理程序:行继续:为什么在反斜杠字符('\')之后不允许完全注释?

来自分类Dev

Perl“ \ my $ var”为什么“ my”以反斜杠转义?

来自分类Dev

JavaScript RegExp:为什么导致双反斜杠(\\)错误?

来自分类Dev

为什么反斜杠出现两次?

来自分类Dev

为什么要检查是否存在反斜杠功能?

来自分类Dev

为什么在Python中打印元组会使反斜杠加倍?

来自分类Dev

为什么多行宏在每行末尾都有反斜杠?

来自分类Dev

为什么在Python路径中需要4个反斜杠?

来自分类Dev

为什么我的jq / read / echo管道删除反斜杠?

来自分类Dev

为什么用反斜杠导出MySQL用户权限?

来自分类Dev

为什么在`find`中的星号前加反斜杠?

来自分类Dev

Perl“ \ my $ var”为什么“ my”以反斜杠转义?

来自分类Dev

为什么在此Shell脚本中包含反斜杠?

来自分类Dev

为什么在使用引号时显示单个反斜杠

来自分类Dev

为什么cp无法检测到'\'(反斜杠+空格)?

来自分类Dev

这个C程序为什么不会崩溃?

Related 相关文章

  1. 1

    为什么这个Haskell程序比等效的Python程序慢得多?

  2. 2

    为什么这个变量组合输出带有 2 个反斜杠的答案?

  3. 3

    为什么在这个 apt install 命令上有反斜杠 `\` 换行符?

  4. 4

    为什么这个Haskell程序分配这么多内存?

  5. 5

    为什么这个Monte Carlo Haskell程序这么慢?

  6. 6

    为什么这个Monte Carlo Haskell程序这么慢?

  7. 7

    为什么grep需要双反斜杠?

  8. 8

    为什么单反斜杠变成双反斜杠

  9. 9

    为什么这个Haskell代码这么慢?

  10. 10

    为什么这个[haskell]编译错误?

  11. 11

    反斜杠空间在Haskell中意味着什么

  12. 12

    为什么在PHP中3个反斜杠等于4个反斜杠?

  13. 13

    为什么 Url 将反斜杠解码为 2 个反斜杠

  14. 14

    C预处理程序:行继续:为什么在反斜杠字符('\')之后不允许完全注释?

  15. 15

    Perl“ \ my $ var”为什么“ my”以反斜杠转义?

  16. 16

    JavaScript RegExp:为什么导致双反斜杠(\\)错误?

  17. 17

    为什么反斜杠出现两次?

  18. 18

    为什么要检查是否存在反斜杠功能?

  19. 19

    为什么在Python中打印元组会使反斜杠加倍?

  20. 20

    为什么多行宏在每行末尾都有反斜杠?

  21. 21

    为什么在Python路径中需要4个反斜杠?

  22. 22

    为什么我的jq / read / echo管道删除反斜杠?

  23. 23

    为什么用反斜杠导出MySQL用户权限?

  24. 24

    为什么在`find`中的星号前加反斜杠?

  25. 25

    Perl“ \ my $ var”为什么“ my”以反斜杠转义?

  26. 26

    为什么在此Shell脚本中包含反斜杠?

  27. 27

    为什么在使用引号时显示单个反斜杠

  28. 28

    为什么cp无法检测到'\'(反斜杠+空格)?

  29. 29

    这个C程序为什么不会崩溃?

热门标签

归档