| いつも成功する。
repeat
repeat/0 は、繰り返し、無限に成功する。true/0 との違いは、バックトラックされることです。
repeat/0 で定義されるループは、繰り返すので、カット ('!'/0)でのみ終了する。
もし、repeat/0のあとでコールされた述語がいつも失敗すれば、無限ループが出来る。もし、、repeat/0 がconjunction (','/2) のあとで続けば、 その左部分はバックトラックされない。
例
| repeat, write('indefinitely'), nl, fail. |
無限に'indefinitely' を現在出力ストリームに書く。 |
| repeat,!.
| 成功. |
| repeat,!,fail. |
失敗. |
標準
この述語は、ISO-Prolog 標準に含まれる。
関連
abort/0,
break/0,
call/1,
_call/1,
catch/3,
','(conjunction)/2,
'!'(cut)/0,
';'(disjunction)/2,
fail/0,
true/0,
halt/0/1,
'->'(if-then)/2,
';'(if-then-else)/2,
'\+'(not provable)/1,
once/1,
throw/1.
|