我正在尝试计算一个元素在列表中出现的次数,到目前为止我已经想出了
rate(X,[H|T],N):-
X == H,
N is N+1,
rate(X,T,N).
rate(X,[_|T],N) :-
rate(X,T,N).
rate(_,[],N) :-
N is 0.
我已经介绍了何时找到匹配项、何时没有匹配项以及何时到达列表末尾。但是当我测试时我得到
43 ?- rate(4,[4,2,3,4,4,2],X).
ERROR: is/2: Arguments are not sufficiently instantiated
Exception: (6) frequency(4, [4, 2, 3, 4, 4, 2], _G393) ?
我到底错过了什么论点?