我刚写了我的第一个Haskell程序,但是有一个错误我无法理解。我认为它是正确的,因为我只是像书上的例子一样写的。请问有谁能帮帮我吗?
main = do
putStrLn "Hello, what's your name?"
name <- getLine
putStrLn ("Hey" ++ name ++ ", nice to meet you!")
错误信息为:
这很奇怪。在输入 'putStrLn' 时出现解析错误
我刚写了我的第一个Haskell程序,但是有一个错误我无法理解。我认为它是正确的,因为我只是像书上的例子一样写的。请问有谁能帮帮我吗?
main = do
putStrLn "Hello, what's your name?"
name <- getLine
putStrLn ("Hey" ++ name ++ ", nice to meet you!")
这很奇怪。在输入 'putStrLn' 时出现解析错误
虽然从你发布的代码中无法得知,因为在SO上,至少有一些时候会将制表符转换为空格,但问题很可能是您在putStrLn
之前输入了一个字面制表符而不是像您在do
块的其他两行中一样使用四个空格,或者反之。
在do
块中的所有语句必须以完全相同的空格开始,而不仅仅是在视觉上对齐。如果您正在使用可以以特殊方式显示字面制表符的文本编辑器,请设置它以这样做;这将为您节省一些麻烦。