| 2つのゴールのうち、一つを実行する。
+ゴール1;+ゴール2
;(+ゴール1,+ゴール2)
';'/2 は、ゴール1 かゴール2 が成功すれば、成功する。
もし、ゴール1 が成功すれば、ゴール2 は実行されない。ゴール2 は、ゴール1 が失敗した時のみ、実行される。
バックトラックによって、ゴール1 も ゴール2 も一つ以上の解を持つことができる。最初に ゴール1 がバックトラックされる。ゴール1の全解がでてから、ゴール2 はバックトラックされる。
';'/2 は、優先順位クラス 1100、右結合性の、組み込み挿入演算子である。
(関連 current_op/3).
引数
ゴール1 ゴール
ゴール2 ゴール
例
| ;(integer(2.2), integer(3)). |
成功. |
| write(goal1),write(' and goal2'). |
成功して、'goal1'を出力する。 |
標準
この述語は、ISO-Prolog標準に含まれる。
関連
abort/0,
break/0,
call/1,
fcall/1,
catch/3,
','(conjunction)/2,
'!'(cut)/0,
fail/0,
true/0,
halt/0/1,
'->'(if-then)/2,
';'(if-then-else)/2,
'\+'(not provable)/1,
once/1,
repeat/0,
throw/1.
|