Prolog 列表 - 重复头
Prolog Lists - Duplicate head
我正在尝试从术语列表中列出 2 个连续的术语。所以如果 L1 和 L2 是列表并且 L2 连续两次包含 L1 中的每个元素,那么 echo 应该 return True。
没有 clpfd.
我想让 echo 接受...
echo([x,1,[b]], L).
和return...
L = [x,x,1,1,[b],[b]].
它确实适用于...
echo([2,1],[2,2,1,1]).
true.
这是我目前所拥有的...
echo([],[]).
echo([X|XS], [Y,Z|YZS]) :-
X #= Y,
Y #= Z,
echo(XS, YZS).
我收到有关条款的错误 =>
Domain error: `clpfd_expression' expected, found `x'
我猜你不想使用 CLPFD。
没有 CLPFD:
echo([], []).
echo([X|Xs], [X,X|Ys]):-
echo(Xs, Ys).
我正在尝试从术语列表中列出 2 个连续的术语。所以如果 L1 和 L2 是列表并且 L2 连续两次包含 L1 中的每个元素,那么 echo 应该 return True。 没有 clpfd.
我想让 echo 接受...
echo([x,1,[b]], L).
和return...
L = [x,x,1,1,[b],[b]].
它确实适用于...
echo([2,1],[2,2,1,1]).
true.
这是我目前所拥有的...
echo([],[]).
echo([X|XS], [Y,Z|YZS]) :-
X #= Y,
Y #= Z,
echo(XS, YZS).
我收到有关条款的错误 =>
Domain error: `clpfd_expression' expected, found `x'
我猜你不想使用 CLPFD。
没有 CLPFD:
echo([], []).
echo([X|Xs], [X,X|Ys]):-
echo(Xs, Ys).