debug_mode
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.

debug_mode(+関数子,+引数の数,-旧スイッチ,+新スイッチ) debug_mode(+関数子,+引数の数_式,-旧スイッチ,+新スイッチ)

debug_mode/4は、述語のデバッグモ−ドを読み込んだり設定します。述語のデバッグモ−ドは、デバッギングやトレース中に、述語の実行の過程を詳しく表示するか、あるいは表示しないのかを決定します。

on: デバッガは指定した述語の内部の振舞を表示します。つまりサブゴ−ルが表示されます。

off: デバッガは指定した述語の外部の動きだけを表示し、サブゴ−ルは表示されません。

まず、述語 「関数子」/「引数」の現在のデバッグモ−ドが読まれ、「旧スイッチ」と単一化されます。述語は、この単一化が失敗すると失敗します。単一化が成功すると、デバッグモ−ドは、「新スイッチ」によって与えられる値に設定されます。「新スイッチ」は、アトム'on'または'off'のいずれかでなければなりません。そうでない場合には、エラ−が起きます。

最初の例では、変更なしにモ−ドを読み込みます。2番目の例ではモ−ドを変更しますが、旧モ−ドを読みません。3番目の例では、モ−ドの読み込みと変更を行います。

?- debug_mode(reports_to,2,Mode,Mode).

Mode = on yes ?- debug_mode(reports_to,2,_,off).

yes ?- debug_mode(reports_to,2,Mode,off).

Mode = off yes ?- _

atom_expected 「関数子」がアトムでない integer_expected 「引数の数」が整数でない out_of_range 「引数の数」が負の数である on/off_expected 「新スイッチ」がonでもoffでもない not_modifiable 「関数子」/「引数」の数が修正できない


Up read on...