let x=1
y=2
z=3
在GHCi中不起作用,迫使我改为使用let {x=1;y=2;y=3}
。我该如何解决这个问题?
答案 0 :(得分:12)
GHCi还有一个多线模式,启用方式为:set + m,GHCi在当前语句未完成时自动检测到,并允许添加更多行。多行输入以空行终止。
多线模式使GHCi表现得很像Python解释器:
Prelude> :set +m
Prelude> let x = 1
Prelude| y = 2
Prelude| z = 3
Prelude|
Prelude> (x, y, z)
(1,2,3)
这个隐藏的宝石非常适合玩可读代码!
如果您希望这是默认行为,您可以在主目录中创建一个.ghci
文件,其中包含:set +m
行。 (现在这个问题出现了,我实际上已经这样做了。)