Did you know ... Search Documentation:
Pack logtalk -- logtalk-3.77.0/docs/_sources/loopp_0.rst.txt

.. index:: loopp .. _loopp/0:

.. rst-class:: right

protocol

loopp

Loop control constructs protocol.

| Availability: | logtalk_load(loops(loader))

| Author: Paulo Moura | Version: 1:3:0 | Date: 2017-03-20

| Compilation flags: | static

| Dependencies: | (none)

| Remarks: | (none)

| Inherited public predicates: | (none)

.. contents:: :local: :backlinks: top

Public predicates

.. index:: whiledo/2 .. _loopp/0::whiledo/2:

whiledo/2 ^^^^^^^^^^^^^

While Condition is true do Action.

| Compilation flags: | static

| Template: | whiledo(Condition,Action) | Meta-predicate template: | whiledo(0,0) | Mode and number of proofs: | whiledo(+callable,@callable) - zero_or_one


.. index:: dowhile/2 .. _loopp/0::dowhile/2:

dowhile/2 ^^^^^^^^^^^^^

Do Action while Condition is true.

| Compilation flags: | static

| Template: | dowhile(Action,Condition) | Meta-predicate template: | dowhile(0,0) | Mode and number of proofs: | dowhile(@callable,+callable) - zero_or_one


.. index:: foreach/3 .. _loopp/0::foreach/3:

foreach/3 ^^^^^^^^^^^^^

For each Element in List call Goal.

| Compilation flags: | static

| Template: | foreach(Element,List,Goal) | Meta-predicate template: | foreach(*,*,0) | Mode and number of proofs: | foreach(@var,+list(term),@callable) - zero_or_one


.. index:: foreach/4 .. _loopp/0::foreach/4:

foreach/4 ^^^^^^^^^^^^^

For each Element in List at position Index call Goal. Index starts at 1.

| Compilation flags: | static

| Template: | foreach(Element,Index,List,Goal) | Meta-predicate template: | foreach(*,*,*,0) | Mode and number of proofs: | foreach(@var,@var,+list(term),@callable) - zero_or_one


.. index:: forto/3 .. _loopp/0::forto/3:

forto/3 ^^^^^^^^^^^

Calls Goal counting up from First to Last. Increment is 1. For convenience, First and Last can be arithmetic expressions. Fails iff Goal fails.

| Compilation flags: | static

| Template: | forto(First,Last,Goal) | Meta-predicate template: | forto(*,*,0) | Mode and number of proofs: | forto(+number,+number,@callable) - zero_or_one


.. index:: forto/4 .. _loopp/0::forto/4:

forto/4 ^^^^^^^^^^^

Calls Goal counting up from First to Last and binding Count to each successive value. Increment is 1. For convenience, First and Last can be arithmetic expressions. Fails iff Goal fails.

| Compilation flags: | static

| Template: | forto(Count,First,Last,Goal) | Meta-predicate template: | forto(*,*,*,0) | Mode and number of proofs: | forto(@var,+number,+number,@callable) - zero_or_one


.. index:: forto/5 .. _loopp/0::forto/5:

forto/5 ^^^^^^^^^^^

Calls Goal counting up from First to Last and binding Count to each successive value. For convenience, First, Last, and Increment can be arithmetic expressions (uses Increment absolute value). Fails iff Goal fails.

| Compilation flags: | static

| Template: | forto(Count,First,Last,Increment,Goal) | Meta-predicate template: | forto(*,*,*,*,0) | Mode and number of proofs: | forto(@var,+number,+number,+number,@callable) - zero_or_one


.. index:: fordownto/3 .. _loopp/0::fordownto/3:

fordownto/3 ^^^^^^^^^^^^^^^

Calls Goal counting down from First to Last. Decrement is 1. For convenience, First and Last can be arithmetic expressions. Fails iff Goal fails.

| Compilation flags: | static

| Template: | fordownto(First,Last,Goal) | Meta-predicate template: | fordownto(*,*,0) | Mode and number of proofs: | fordownto(+number,+number,@callable) - zero_or_one


.. index:: fordownto/4 .. _loopp/0::fordownto/4:

fordownto/4 ^^^^^^^^^^^^^^^

Calls Goal counting down from First to Last and binding Count to each successive value. Decrement is 1. For convenience, First and Last can be arithmetic expressions. Fails iff Goal fails.

| Compilation flags: | static

| Template: | fordownto(Count,First,Last,Goal) | Meta-predicate template: | fordownto(*,*,*,0) | Mode and number of proofs: | fordownto(@var,+number,+number,@callable) - zero_or_one


.. index:: fordownto/5 .. _loopp/0::fordownto/5:

fordownto/5 ^^^^^^^^^^^^^^^

Calls Goal counting down from First to Last and binding Count to each successive value. For convenience, First, Last, and Decrement can be arithmetic expressions (uses Decrement absolute value). Fails iff Goal fails.

| Compilation flags: | static

| Template: | fordownto(Count,First,Last,Decrement,Goal) | Meta-predicate template: | fordownto(*,*,*,*,0) | Mode and number of proofs: | fordownto(@var,+number,+number,+number,@callable) - zero_or_one


Protected predicates

(none)

Private predicates

(none)

Operators

(none)

.. seealso::

:ref:`loop <loop/0>`