ノードA、B、Cが3つあり、AとB、BとCの間にエッジがあるとします。実行時に新しいファクトをデータベースにアサートしたいAとBの間にエッジがあり、BからCにエッジがある場合、AからCまで到達できます。エッジ(a、c)を追加したいのですが、次の問題があります。ありがとうございましたデータベースに新しいファクトを追加する
dynamic/1: No permission to modify static procedure `edge/2'
ERROR: [Thread pce] c:/users/win7/documents/prolog/test.pl:6: Syntax error: Operator expected
これは私のコードです:
edge(a,b).
edge(b,c).
:- dynamic edge/2.
conn :-(X,C):- edge(X,Y),edge(Y,C),assert(edge(X,C)).
'conn :-(X、C): - ...'は構文エラーです。 – lurker