Prolog: ein Verfahren zum drucken Hello World
Ich wollen laden Sie diese einfach etwas in meinem Editor:
Write:-repeat,write("hi"),nl,fail.
So, dass es druckt "Hallo".
Was soll ich tun?
Ich versuche momentan zu tun File->New
und Speichern einer Datei namens Schreiben in E:\Program Files\pl\xpce\prolog\lib
Wenn du die Abfrage:
?-Schreiben.
Es ist Druck:
1 ?- Write.
% ... 1,000,000 ............ 10,000,000 years later
%
% >> 42 << (last release gives the question)
Warum?
- Übrigens, dass die "Fehlermeldung" ist eine Referenz an The Hitchhiker ' s Guide To The Galaxy.
- Ich weiß. Ich Liebe diese Bücher, aber ich finde diese Nachricht ziemlich dumm ist. Es ist ein Zwang und Verschleierung Witz.
- Komisch ist 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
BEARBEITEN
Habe ich etwas mehr Forschung. Offensichtlich ist dies, was SWI-Prolog nicht wenn man es über eine nicht instanziierten Variablen.
UPDATE
Änderung der Namen in Kleinbuchstaben funktioniert. Großbuchstaben für Variablen:
helloworld.prolog:
Dann:
Beachten Sie, dass Sie haben, konsultieren Sie zuerst die Datei. Ich versuchte dies und es funktioniert sicher.
hello_world:-write('hello world'),nl,fail.
Bemerken, dass ich starten Sie den Vorgang mit einem lower-case schreiben.prolog
. Ich verwendet.prolog
als eine willkürliche Erweiterung. SWI-Prolog nicht beschweren. Sie können es ändern, um.pl
und es sollte trotzdem funktionieren.Müssen Sie den Namen der Prozedur
write
, nichtWrite
. Großbuchstaben, die Anfangsbuchstaben für Variablen. (Möglicherweise ist es weniger verwirrend, wenn Sie nennen es etwas anderes wiewriteHi
oder so etwas, so dass es nicht den gleichen Namen wie eine eingebaute Prozedur, aber es wird immer noch funktionieren, wenn Sie es nennenwrite
weil Ihr schreiben hat eine andere Dimension als die integrierte in-one).Vielleicht möchtest du ja auch ersetzen
"hi"
mit'hi'
ist, obwohl es so oder so funktionieren (aber nur die zweite version tatsächlich gedruckt wird, das Wort Hallo auf dem Bildschirm - deine version wird drucken Sie es als ein integer-Liste).consult
) die Datei, bevor Sie versuchen, um es aufzurufen. Ich garantiere Ihnen, dass es funktioniert mit der Kleinschreibung name. Ich tatsächlich versucht es.