Prolog中的递归列表迭代

时间:2015-11-22 23:34:49

标签: prolog

我试图在列表中的某个元素通过aboveThreshold过滤器的情况下更新我的Result变量。 (元素必须高于40)

这将在整个列表的给定条件下执行,或者我想要它,但是使用以下代码,我似乎只允许单次迭代。

test([],X,Result).

test([H | T],X,Result) :-
    aboveThreshold(H),
    Result is X + 1000,
    test(T,Result,Result) ;
    test(T,X,Result).

我的结论基于以下Prolog控制台打印:

test([71,41,41,40],0,R).
R = 1000.

0 个答案:

没有答案