私はクラスの 1 つで見た単純な Prolog の例に取り組んでおり、'append' を使用して再実装しています。これは私が持っているものです(クラスから):
append1([],L,L).
append1([X|L1],L2,[X|L3]) :-
append1(L1,L2,L3).
これを行うと、false になります。
append1([a,b],[c,d],L).
false.
しかし、(組み込みの追加を使用して) これを行うと、結果は true になります。
append([a,b],[c,d],L).
true.
なぜ違いがあるのですか?
そして、これらの次の追加の例の両方が「true」になるのはなぜですか? 何らかの理由で、Ls の値のリストが表示されることを期待していました ...
append(L1,L2,[a,b,c]).
true.
append([a,b],[c,d],L).
true.