haskell - Haskell 中 `putStrLn` 的基本错误。VScode 扩展 Haskelly
问题描述
main = do line <- getLine
let line' = reverse line
putStrLn $ "You said " ++ line' ++ " backwards!"
putStrLn $ "Yes, you really said " ++ line ++ " backwards!"
错误:
$ stack runhaskell "c:\Users\FruitfulApproach\Desktop\Haskell\test.hs"
C:\Users\FruitfulApproach\Desktop\Haskell\test.hs:4:5: error:
parse error on input `putStrLn'
|
4 | putStrLn $ "You said " ++ line' ++ " backwards!"
| ^^^^^^^^
我还尝试在缩进行上使用单个选项卡。
这是我的标签 - >空格设置:
我也尝试过重新启动 VSCode。
提前致谢!
解决方案
我相信您的代码缩进不足。尝试这个:
main = do line <- getLine
let line' = reverse line
putStrLn $ "You said " ++ line' ++ " backwards!"
putStrLn $ "Yes, you really said " ++ line ++ " backwards!"
具体来说,您后面的行do
应该与后面的内容一样缩进,即line <- getLine
.