case
我无法用块中的表达式完全弄清楚这个语法问题do
。
什么是正确的语法?
如果你能纠正我的例子并解释它,那将是最好的。
module Main where
main = do
putStrLn "This is a test"
s <- foo
putStrLn s
foo = do
args <- getArgs
return case args of
[] -> "No Args"
[s]-> "Some Args"
一点更新。我的源文件是空格和制表符的混合体,它导致了各种问题。只是给从 Haskell 开始的任何其他人的小费。如果您遇到问题,请检查源代码中的制表符和空格。