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