计算列表中元素的出现次数

时间:2012-10-27 04:57:13

标签: smlnj

我有以下功能:

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

1 个答案:

答案 0 :(得分:1)

您从定义的开头就错过了fun关键字了!

请改为尝试:

fun getcountof(x,l::ls) = 
     if x=l then  (1 + getcountof(x,ls))
     else getcountof(x,ls)
  | getcountof(x,[]) = 0;

对于熟悉Haskell的人来说,这是一个陷阱。

相关问题