私はrooPlogを学んでいて、リストに問題があります。私は指定されたクラスの前提条件であるクラスのリストを返す。ここに私がこれまで持っていたものがあります...プロローグ付きリスト
prereq(262, 221).
prereq(271, 262).
prereq(331, 271).
prerequisites(A, B) :- not(prereq(A, C)).
prerequisites(A, [C|B]) :- prereq(A, C), prerequisites(C, B).
これは機能しますが、最後にジャンクを追加します。
?- prerequisites(331, A).
A = [271, 262, 221|_G327] ;
false.
...あなたは、これが機能するためには、あなたのデータにはサイクルが存在しないことを確認しなければなりません
を意味します何かが間違っていることを意味する特定の節で変数を使用しない場合は、前提条件(A、B)で置き換えて匿名にします。 - not(prereq(A、C))。 "警告を発したはずです。 – Ihmahr