Hallo Welt in Prolog
-
01-10-2019 - |
Frage
Ich bin reißen meine Haare zu versuchen, herauszufinden, wie man nur ein Hallo Welt Programm in Prolog schreiben. Ich möchte nur ein Programm erstellen, das läuft in etwa so:
> ./hw
Hello, world!
>
Das Problem ist, dass jedes einzelne Beispiel I Arbeiten in einem REPL finden kann, etwa so:
?- consult(hello_world).
% hello compiled 0.00 sec, 612 bytes
Yes
?- hello_world.
Hello World!
Yes
Dies ist das gleiche auch mit Beispielen zusammengestellt Prolog: das Programm immer noch fällt nur in eine REPL. Das ist natürlich nicht viel für eine „allgemeine Zwecke“ Sprache. Also, wie schreibe ich die traditionelle Hallo Welt?
Lösung
Mit GNU Prolog :
$ cat hello.pl
:- initialization(main).
main :- write('Hello World!'), nl, halt.
$ gplc hello.pl
$ ./hello
Hello World!
Andere Tipps
Sie können die Quelldatei sowohl Start des Prolog-Interpreter schreiben und sie zu beenden, wenn der Code ausgeführt wird, geschehen. Hier ist ein Beispiel unter Verwendung von SWI-Prolog:
#!/usr/bin/swipl -q -t hello_world -f
hello_world :- write('Hello World'), nl,
halt.
Angenommen, Sie diese in einer Datei speichern, namens ‚hw‘, und stellen Sie die ausführbare Erlaubnis, können Sie es nennen, wie Sie wollen:
$ ./hw
Hello World
$
Prolog ist nicht wirklich eine Allzweck Sprache. Wir verwenden es, Systeme mit künstlicher Intelligenz an der Universität zu entwerfen.
Sie müßten eine Tatsache definieren, dass die Antworten „Hallo Welt“.
hello('hello world').
Dann Befrage die Tatsache:
?- hello(X).
Allerdings, je nach dem Prolog-Compiler, haben Sie wahrscheinlich eine write()
haben in der Regel, dass Sie verwenden können:
?- write('hello world'), nl.
writeln('hello world').