私はリストを取り、エッジの述語を返すPrologに句を書き込もうとしています。例:プロローグのタプルにリスト
?- listpairs([1, 2, 3], X, Y).
X = 1
Y = 2;
X = 2
Y = 3;
これは私がこれまで試みてきたもので、どこにもいない。
listpairs([H], H, H).
listpairs([H1,H2|T], X, Y) :-
X is H1,
Y is H2,
listpairs([H2|T], X, Y).
誰かが助けてくれれば幸いです。
お使いのベースケースは理にかなっていますか?それはあなたが欲しいものですか?再帰的な場合には、論理和を追加する必要があります。値を返すか、再帰的に呼び出すか、両方を呼び出す必要があります。 –
* ...どこにも*いない*。非常に良い問題の説明ではありません。 – lurker