In swi-prolog, lud ich eine Datei, die diese gerade hat:Erste ERROR: Nicht definierte Verfahren in Prolog
% -*- Mode : Prolog -*-
sunny.
Im Terminal, wenn ich
?- sunny.
tun, sagt es true
. Aber wenn ich
?- fff.
Ich erwarte, dass es false
zu sagen, aber es sagt stattdessen
ERROR: Undefined procedure: fff/0 (DWIM could not correct goal)
Diese Seite http://www.doc.gold.ac.uk/~mas02gw/prolog_tutorial/prologpages/facts.html wenn das Beispiel mit foggy.
tun, heißt es Ausgabe no
sein sollte, aber ich bekomme ein Error.
Weiß jemand, was los ist?
Dank
Dieses Tutorial muss aus den 1970er Jahren stammen. Heute erzeugen Prologs eher einen Fehler, der in vieler Hinsicht viel besser ist. Wenn Sie jedoch dieses Verhalten wirklich wollen (und etwas in [psychedelischem Licht] nicht vergessen (https://www.youtube.com/watch?v=jNlcK4fDxRM)), sagen Sie einfach: 'set_prolog_flag (unknown, fail) .' – false
Prolog hat keine Ahnung was 'fff' ist. Sie könnten tun, was @false vorschlägt, wenn Sie möchten, dass ein unbekanntes Prädikat nur fehlschlägt (was übrigens dazu führen könnte, dass Sie in größeren Programmen keine typografischen Fehler finden). Oder Sie können bestimmte Prädikate als dynamisch deklarieren, zB ': - dynamisch (fff/0) .' – lurker