我有以下功能:
getcountof(x,l::ls) =
if x=l then (1 + getcountof(x,ls))
else getcountof(x,ls)
|getcountof(x,[]) = 0;
有人能告诉我这里有什么不对吗? 我收到错误:
stdIn:1.2-1.17 Error: syntax error: deleting ELSE ID
stdIn:1.22-20.12 Error: syntax error: deleting RPAREN BAR ID
答案 0 :(得分:1)
您从定义的开头就错过了fun
关键字了!
请改为尝试:
fun getcountof(x,l::ls) =
if x=l then (1 + getcountof(x,ls))
else getcountof(x,ls)
| getcountof(x,[]) = 0;
对于熟悉Haskell的人来说,这是一个陷阱。