Ich versuche, die Grundlagen von Prolog zu lernen und weiterhin in eine Existenz Fehler mit dem folgenden Code.Prolog Existenz Fehler in grundlegenden Beispiel
comes_after(m1, m2).
comes_after(m2, m3).
comes_after(m3, m4).
comes_after(m4, m5).
comes_after(m5, m6).
does_come_after(X, Y) :- comes_after(X, Y).
does_come_after(X, Z) :- comes_after(X, Y), does_come_after(Y, Z).
Wenn eine Abfrage wie does_come_after Ausführung (m1, m3) ich folgende Fehlermeldung erhalte.
uncaught exception: error(existence_error(procedure,comes_after/0),does_come_after/0)
Hier ein Screenshot zeigt den Fehler:
Was mache ich falsch, und was sollte ich beachten, diese Fehler in Zukunft zu vermeiden? Danke im Voraus.
in Ordnung aussieht, obwohl Ihre Logik does_come_after wahrscheinlich ein wenig fehlerhaft ist. sollte diesen Fehler jedoch nicht verursachen. Wie genau hast du die Logik genannt? – Xaser
Scheint, dass Sie die Datei nicht konsultieren, die die Prädikate enthält ... – coder
Ich habe die Datei konsultiert, und ich habe es mit dem Prädikat comes_after() getestet. Ich habe den Beitrag aktualisiert und den Screenshot auf Einzelheiten überprüft. Vielen Dank! – Zoroshino