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.
modify_mode(+関数子,+引数の数,-旧スイッチ,+新スイッチ)
modify_mode/4は、「関数子/引数の数」によって与えられた述語の変更モ−ドを読み出したり、設定したりします。
述語の変更モ−ドは、その述語の定義が変更可能かどうかを定義します。変更モ−ドが"on"の場合には、述語の定義は変更可能です。"off"の場合には、述語の定義は変更不可能です。変更するためには、再びmodify_modeをonにして下さい。
以下の述語は、モ−ドの変更によって影響を受けます。
asserta/1,/2 debug_mode/4 reconsult/1
assertz/1,/2 compiles/1 retract/1,/2
asserto/1,/2 consult/1 trace_mode/4
abolish/1,/2 list_mode/4
述語「関数子/引数」の現在のモードが読み出され、「旧スイッチ」と単一化され、変更モ−ドは、「新スイッチ」によって与えられる値に設定されます。「新スイッチ」は、アトム'on'あるいは'off'のいずれかでなければなりません。またモ−ドは、2つのスイッチに同一の自由変数を使うことによって、変更なしに読み出すことができます。
最初の例は、変更モ−ドを変えずに読み出します。2番目の例は、モ−ドを読みだすとともにモ−ドの変更もします。
?- modify_mode(reports_to,2,Mode,Mode).
Mode = on
yes
?- modify_mode(reports_to,2,Mode,off).
Mode = on
yes
?- _
atom_expected 「関数子」がアトムでない
integer_expexted 「引数の数」が整数でない
out_of_range 「引数の数」が負の数である
on/off_expected 「新スイッチ」がonあるいはoffでない
|