問題に4時間苦労した後、あなたの助けをいただければ幸いです。
プロローグスクリプトから(Windows上で)exeファイルを作成する必要があります。たとえば、main.plには次のものがあります。
day(monday).
day(tuesday).
day(wednesday).
day(thursday).
day(friday). % let's stop here
このスクリプトをコンパイルし、prog.exeファイルを作成してから、次の実行を実行できるようにします。
$ prog.exe --term sunday
false
$ prog.exe --term monday
true
$ prog.exe --goal day(friday)
true
$ prog.exe --goal fun(foo)
false
フラグが難しい場合は、入力目標のある非フラグバージョンも非常に役立ちます。
swi-prologページのコンパイルページを読み込もうとしましたが、混乱しました。標準出力ストリームに何も印刷できません。また、フラグがどのように機能するのか理解できませんでした。
彼らがswi-prologサイトに持っている例を試しましたが、何も印刷されない理由がわかりません。以下のスクリプトを使用すると、コマンドsave(prog)を使用してexeファイルを作成できますが、prog.exeを実行している間は何も出力されません。
:- ['main'].
main :-
pce_main_loop(main).
main(Argv) :-
write('hello word').
save(Exe) :-
pce_autoload_all,
pce_autoload_all,
qsave_program(Exe,
[ emulator(swi('bin/xpce-stub.exe')),
stand_alone(true),
goal(main)
]).