25

PrologでHelloWorldプログラムを作成する方法を見つけようとして、髪の毛を引き裂いています。次のように実行されるプログラムを作成したいだけです。

> ./hw
Hello, world!
>

問題は、私が見つけることができるすべての例が、次のようにREPLで機能することです。

?- consult(hello_world).
% hello compiled 0.00 sec, 612 bytes

Yes
?- hello_world.
Hello World!

Yes

これは、コンパイルされたPrologの例でも同じです。プログラムは、REPLにドロップするだけです。これは明らかに「汎用」言語にはあまり使用されません。では、従来のHello Worldをどのように作成すればよいですか?

4

4 に答える 4

21

GNU Prologの使用:

$ cat hello.pl 
:- initialization(main).
main :- write('Hello World!'), nl, halt.

$ gplc hello.pl $ ./hello
Hello World!

于 2010-09-01T18:01:53.740 に答える
11

ソースファイルを記述して、Prologインタープリターを起動し、コードの実行が完了したら終了することができます。SWI-Prologを使用した例を次に示します。

#!/usr/bin/swipl -q -t hello_world -f

hello_world :- write('Hello World'), nl, 
               halt.

これを「hw」という名前のファイルに入れ、実行可能ファイルのアクセス許可を設定すると、次のように呼び出すことができます。

$ ./hw
Hello World
$
于 2010-08-26T15:29:32.420 に答える
3

Prologは実際には汎用言語ではありません。大学で人工知能システムを設計するために使用します。

「HelloWorld」に答えるファクトを定義する必要があります。

hello('hello world').

次に、事実を調べます。

?- hello(X).

ただし、PROLOGコンパイラーによっては、次のwrite()ルールを使用できる可能性があります。

?- write('hello world'), nl.
于 2010-08-26T14:48:52.113 に答える
1
writeln('hello world').
于 2010-08-26T15:17:07.060 に答える