如何在同一条线上使用两个 let's?

How to use two let's on the same line?

我正在使用 Hugs 解释器,我想执行以下代码(根据 Haskell 2010 年语言报告):

let x = 1
z = x+y
in z+1

是否可以只创建一个 .hs 文件并加载?我可以直接通过命令行来完成吗?

(抱歉 - 没意识到你的问题是关于拥抱而不是 ghci。)

可以在ghci中使用:{输入多行表达式:

shell$ ghci
GHCi, version 7.10.2: http://www.haskell.org/ghc/  :? for help
Prelude> :{
Prelude|   let z = 1
Prelude|       w = 3
Prelude|   in z + w
Prelude| :}
4
Prelude>

在这种情况下,即使您不能在 hugs 中输入多行语句,也可以在一行中完成。

您可以像这样使用两个 let ... in ...

let x = 1 in let z = x+y in z + 1

或者您可以使用 ; 进行多个定义,如下所示:

let x=1; z=x+y in z + 1