once/1

executes a goal only once.

once(?Goal)

once/1 works like call/1, but without backtracing.

Arguments

Goal                   goal

Examples

once((member(X,[a,b,c]))). Succeeds only once with substitution X <- a.

Standard

This predicate is part of the ISO-Prolog Standard.

See also

abort/0, break/0, call/1, fcall/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, repeat/0, throw/1.


Darueber read on...