同じ質問ですが異なるコードを読みましたが、残念ながらもう1つは投稿されています。プロローグの引数が十分にインスタンス化されていない、Rが[H | R1]
私は教授のメモに従っており、ここに見られるように階乗関数と同一の挿入文をモデリングしています。
factorial(0, 1).
factorial(N, F) :-
N > 0,
N1 is N – 1,
factorial(N1, F1),
F is N * F1.
と私の挿入機能が
insertPos(V, 0, [H|T], [V|[H|T]]).
insertPos(V, N, [H|T], R) :-
N > 0,
N1 is N-1,
insertPos(V, N1, T, R1),
R is [H|R1].
エラーがR
にスローされているが、私は私のinsertPos/4
からR1
を取得し、その上にヘッドを追加するために期待していた[H|R1]
です。
私のクエリは次のとおりです。あなたがlist
[H|R1]
と変数R
を統一するためにis/2
を使用することはできません
?- insertPos(D, 1, [A,B,C], L).
ありがとうございました!プログラムは今働いています=] –
助けてくれてうれしいです:-) !!! – coder