So erstellen Sie eine Tatsache in SWI-Prolog?
Ich will einfach nur, um etwas zu schaffen wie: like(x,y)
.
Ich habe versucht, für eine lange Zeit und bin wirklich frustriert, könnte jemand bitte sagen Sie mir, wie es zu tun???!!!
- Eigentlich gibt es zwei Möglichkeiten, in top-level-Prädikate. Beide werden hier erklärt: swi-prolog.org/FAQ/ToplevelMode.html Auch gefunden wird, Empfehlungen für alternative Nutzung. Diese Frage spiegelt sich auch hier: stackoverflow.com/questions/5404143/...
- Siehe auch de.wikipedia.org/wiki/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich nehme an, Sie sind mit swi-interaktiv und versucht, die Tat gibt Sie eine Fehlermeldung etwa so:
Seit der Tat nicht in der Datenbank vorhanden.
Wenn dies der Fall ist, versuchen die Geltendmachung der Tat zuerst:
Dann können Sie versuchen:
Dieser Zeit ist die Abfrage erfolgreich, weil die Tat in der Datenbank vorhanden.
Ein besserer Ansatz könnte sein, zu schreiben, Ihre Klauseln in die Datei & dann konsultieren Sie.
Swi-prolog ist eine emacs-ähnlichen editor, die Sie bringen kann durch die Eingabe von
in der Eingabeaufforderung. Oder verwenden Sie Ihren editor, & dann konsultieren Sie die Datei. Swi-prolog
kommt mit einer Menge von grafischen tools, die vielleicht helfen; schauen Sie in die Anleitung
für weitere details.
dynamic(like/2)
. Dann erhalten Siefalse
statt eines Undefined procedure exception*, bis Sie assert ein wie/2 Tat.assert/1
ist eine häufige, aber nicht-standard-Prädikat. Für Portabilität, verwenden Sie stattdessen entwederasserta/1
oderassertz/1
.Können Sie Fakten schaffen, eine prolog-Datei und laden Sie Sie mit consult-Funktion.
Beispielsweise
animals.pl
Können Sie auch geltend machen, die Funktion zu definieren, die Fakten in prolog-terminal.
Finden Sie diese link, erhalten Sie weitere Informationen.