您好我正在尝试使用imbricated条件,但我得到解析错误:
parse error on input ‘|’
isAssignMent::String->Bool
isAssignMent a
| a == "" = False
| otherwise
| (head trimmed) == '=' = True
| otherwise = False
where
trimmed = trimRightSide a [' ', '\n']
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?谢谢
这是你想要的吗?
isAssignMent::String->Bool
isAssignMent a
| a == "" = False
| (head trimmed) == '=' = True
| otherwise = False
where
trimmed = trimRightSide a [' ', '\n']
Run Code Online (Sandbox Code Playgroud)
按顺序检查Guard子句.你最后只需要一个otherwise条款.
您还可以使用模式匹配来更加惯用地写这个:
isAssignMent::String->Bool
isAssignMent "" = False
isAssignMent a
| '=':_ <- trimmed = True
| otherwise = False
where
trimmed = trimRightSide a [' ', '\n']
Run Code Online (Sandbox Code Playgroud)