0

我有以下功能:

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
4

1 回答 1

1

fun从定义开始就错过了关键字!

试试这个:

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

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

于 2012-10-30T22:44:39.067 回答