retractは、assertの逆の動作を行う述語です。...
移動
次へ 前へ
上へ 最上
参考
ファイルのリコンサルト
対話のリコンサルト
節の削除
イフコンピュータ > IF/Prolog > マニュアル > IF/Prolog V4.1 マニュアル > ユーザーズ・ガイド > 初めてのPrologのセッションのための準備 > データの削除 > 節の削除

節の削除

MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

retractは、assertの逆の動作を行う述語です。

IF/Prologでは、データベースから節を取り消すように指示することができます。組み込み述語retract(節)はこのために使用されます。これは、retractの引数として渡された節の記述と一致する節で、データベース中で最初に見つけたものだけを削除します。以下のように節を削除し、データベースを見てみましょう。

?- retract(X reports_to 'Smith'), listing(reports_to).

'White' reports_to 'Jones'. 'McDonald' reports_to 'Jones'. 'Newman' reports_to 'Smith'. 'Nixon' reports_to 'Smith'. 'Smith' reports_to 'New'. 'Jones' reports_to 'New'.

X = 'Hill' ; <-- IF/Prologはリターンか`;'の入力を待ちます `;'を押してから改行して下さい。

'White' reports_to 'Jones'. 'McDonald' reports_to 'Jones'. 'Nixon' reports_to 'Smith'. 'Smith' reports_to 'New'. 'Jones' reports_to 'New'.

X = 'Newman' <-- IF/Prologはリターンか`;'の入力を待ちます。 改行して下さい。 yes ?-

述語retractがバックトラック可能なので、';'が入力されるとIF/Prologはバックトラックし、"X reports_to 'Smith'"に一致する別の節を捜し出します。この結果、節"'Newman' reports_to 'Smith'"を捜しだして削除しました。

節の削除には、組み込み述語abolish(関数子,引数の数)を用いることもできます。これは、名前が「関数子」で引数の数が「引数の数」である手続きを定義するすべての節を削除します(レファレンスマニュアルのabolishの項を参照して下さい)。

続く..
IF/Prolog by Siemens
言語
English
Japanese
German
サーバー
USA
Japan
サイトマップ
索引
目次
全体目次
全体索引
印刷向き
imode
PDA
探索
document: http://www.ifcomputer.co.jp/IFProlog/Manuals/v4.1/user_guide/prepare/removing/removcl/home_jp.html
published 2008/6/30 update 1995/11/7 (c) 1996-2006 IF Computer Japan
IF Computer 〒113-0022 Tel 03-5814-3352 ifcj@ifcomputer.co.jp
Customer Support 東京都文京区千駄木5-28-2   http://www.ifcomputer.co.jp
冒頭へ managed with ubiCMS