Haskell 中的解析错误
以下代码:
import IO
import System(getArgs)
main = do
args <- getArgs
let l = length args
if l == 0
putStrLn "foo"
else
putStrLn "bar"
生成 if-else 子句的解析错误。我尝试过使用大括号但没有成功。 帮助!
The following code:
import IO
import System(getArgs)
main = do
args <- getArgs
let l = length args
if l == 0
putStrLn "foo"
else
putStrLn "bar"
generates a parse error for the if-else clause. I have tried using curly braces to no avail.
Help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
只是为了证明我对马克的回答的评论
是合法的哈斯克尔。
使用 GHC 7.0 的
{-# LANGUAGE RebindableSyntax #-}
< /a> 扩展名,你甚至可以逃脱(无耻地模仿 blog.n-sch.de。)
Just to demonstrate my comment to Mark's answer,
is legal Haskell.
With GHC 7.0's
{-# LANGUAGE RebindableSyntax #-}
extension, you can even get away with(Shamelessly aped from blog.n-sch.de.)
两个问题:
您缺少(参见(并接受)@ephemient 的回答)let-in
子句你错过了
then
if-then-else
子句的一部分所以它可能看起来像:
Two issues:
You're missing the(See (and accept) @ephemient's answer)in
part of thelet-in
clauseYou're missing the
then
part of theif-then-else
clauseSo it could look like: