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?

War es hilfreich?

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').
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top