list_mode(+関数子,+引数の数,-旧スイッチ,+新スイッチ)
listing listing(+関数子) listing(+述語のリスト)
listing/0は、デ−タベ−ス中のすべての節を表示します。
listing/1は、頭部が「関数子」である、デ−タベ−ス中のすべての節を表示します。「関数子」の名前は、ワイルドカ−ド文字'?'や'*'を含んでいてもかまいません。ただし、その名前は実際の「関数子」とマッチしなければなりません。
list_mode/4は、述語「関数子/引数」のリストモードの取得と設定をします。2つのスイッチが、同一の値を持たない変数で呼び出された場合には、それらは現在の状態に単一化されます。そうでない場合には、「新スイッチ」はリストモードとして適切な値「on」あるいは「off」でなければなりません。offの場合には、listing/0,/1は述語を表示しないまま成功します。on(デフォルト)の場合には、述語の各節はlistingによって表示されます。
?- listing(ask).
ask.
ask(_1420,_1424).
ask(_1420):- write(_1420),nl. yes ?- listing('*test?').
test1(a).
pqtest2(_1204,_1208). yes ?- list_mode(test1,1,_,off), listing(test1).
yes ?- _
atom_expected 「関数子」がアトムでない integer_expected 「引数の数」が整数でない out_of_range 「引数の数」が負の数である on/off_expected 「新スイッチ」が"on"あるいは"off"でない not_modifiable 述語 「関数子/引数」の数が変更できない