更新时间:2022-12-19 22:14:18
comp_lims([], []).
comp_lims([H1|T1], [H2|T2]) :-
H1 = [Left, Right],
( bet(Left, Right, H2) -> comp_lims(T1, T2); fail ).
更好的版本:
comp_lims([], []).
comp_lims([ [Left, Right] | T1], [H2|T2]) :-
bet(Left, Right, H2), comp_lims(T1, T2).
[Head|Tail]
形式,你可以用[A, B]
来匹配两个元素列表.A ->乙;失败
和 A, Bcode> 一样(也有一个隐含的削减,但你现在可以忽略它).
[Head|Tail]
form, you can just use [A, B]
to match two element lists.A -> B; fail
as just A, B
(there is an implicit cut too, but you can ignore it for now).同样在 bet/3
中,你可以这样做:
Also in bet/3
, you can just do :
bet(L, R, B) :-
B-L > 0,
R-B > 0.
>
隐式计算双方,因此您不需要为它使用单独的 is
.
>
implicitly evaluates both sides, so you do not need to use separate is
for it.