【问题标题】:Why doesn't this GHCi expression have any output? [duplicate]为什么这个 GHCi 表达式没有任何输出? [复制]
【发布时间】:2017-01-22 23:34:21
【问题描述】:

编辑:好的,我知道这没什么问题,但我不知道为什么它没有输出

let y = 2 * x where x = sum[1..3]

我只是想知道,因为这个其他表达式确实给出了输出

let x = sum[1..3] in 2 * x

【问题讨论】:

  • 不。我编辑了我的问题,以更详细地反映我想问的问题。我有一个让输出 12,但另一个让没有给出任何输出
  • 啊。所以let ... in ... 是一个表达式。但是,let ... 也可以出现在 do 块中。我鼓励您将 GHCi 的行为考虑如下:如果您输入的内容看起来像一个原始表达式,它会对其进行评估并打印结果。另一方面,如果您输入的内容看起来可能属于 IO do 块,则它只会执行该操作。
  • 哦,谢谢!这很有意义!

标签: haskell ghci


【解决方案1】:

啊。所以 let ... in ... 是一个表达式。但是, let ... 也可以出现在 do 块中。我鼓励您将 GHCi 的行为考虑如下:如果您输入的内容看起来像一个原始表达式,它会对其进行评估并打印结果。另一方面,如果您输入的内容看起来可能属于 IO do 块,则它只会执行该操作。 - @亚历克

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    • 1970-01-01
    相关资源
    最近更新 更多