我有一个汽车列表(德语为 auto),其中第一个变量是车牌,第二个变量是速度:
[auto(eu-ts884, 69), auto(dn-gh184, 64), auto(ac-lj123, 72)].
现在我尝试编写一个平均谓词,但它失败并显示错误消息:
错误:参数没有充分实例化
到目前为止我的代码:
durchschnitt([], 0, 0).
durchschnitt([auto(_, X)|Tail], L, Y):-
Y is S/L,
L > 0,
cardinal([auto(_, X)|Tail], L),
sumKilometer([auto(_, X)|Tail], S).
sumKilometer([], 0).
sumKilometer([auto(_, X)|Tail], Sum) :-
sumKilometer(Tail, N),
Sum is N + X.
cardinal([], 0).
cardinal([_|Tail], Result) :-
cardinal(Tail, N),
Result is N + 1.
我的代码与那篇文章完全等效,尽管我无法弄清楚我的错误。
注意:sumKilometer
并且cardinal
工作正常。