0

フラグが適切な用語であるかどうかはわかりませんが、クエリの完了時に true または false を出力しないように swi-prolog プログラムを構成し、代わりにプログラムで決定された別のステートメントを単に出力する方法はありますか?

4

1 に答える 1

1

この種の動作をカスタマイズするための機能がありますが、かなり複雑になる可能性があります。私は自分で遊んだことはありませんが、マニュアルと Prolog ブート ファイルを見ると役立つかもしれません。

Prolog には「トップ レベル」があります。これは、Prolog コマンド ラインを制御し、そこに入力された目標を実行する、ちょっとした Prolog コードです。SWI-Prolog を使用すると、別のトップ レベルを指定できます。

pl -t my_quiet_prolog

my_quiet_prolog/0起動時にロードされるファイル、たとえば自分のファイルで定義する場合~/.plrc

デフォルトの最上位は と呼ばれprolog/0ます。このソースと、デフォルトの Prolog 環境のその他の部分は、/usr/lib/pl-5.6.36/boot(私の Cygwin システムでは、おそらく別の場所にあります) にあります。toplevel.plデフォルトの最上位レベルを見てください。メッセージ「はい」と「いいえ」も で定義されていmessages.plます。

メッセージをオーバーライドするか、最上位レベルをコピーして自分に合うように変更することができます。

于 2012-05-08T00:11:46.070 に答える