7

プロローグのリストの最後に1つのアイテムを追加しようとしていますが、失敗し続けます。

insertAtEnd(X,[ ],[X]).
insertAtEnd(X,[H|T],[H|Z]) :- insertAtEnd(X,T,Z).    

letters([a,b,c]).

以下がうまくいかない理由がわかりません。

insertAtEnd(d,letters(Stored),letters(Stored)). 

また、このリストを変数Storeed throughに格納しようとしていますが、上記が正しい方法であるかどうかはわかりません。

4

2 に答える 2

5

追加を使用 して、アイテムを2番目のリストとして配置できます

このような:

insertAtEnd(X、Y、Z):-append(Y、[X]、Z)。

于 2016-06-27T09:23:09.340 に答える
4

Prologはリレーショナル計算モデルを実装しており、変数はインスタンス化のみが可能で、割り当てはできません。試す

?- letters(Stored),
   insertAtEnd(d, Stored, Updated),
   write(Updated).
于 2012-10-31T07:23:35.183 に答える