Package jason.stdlib

Class loop

java.lang.Object
All Implemented Interfaces:
InternalAction, java.io.Serializable

@Manual(literal="while (formula) { plan_body }",
        hint="while logical formula holds, the plan_body is executed",
        argsHint="the formula that when true makes the plan_body be executed",
        argsType="logical formula",
        examples="while(vl(X) & X > 10) { .print(\"value > 10\"); -+vl(X+1); }: where vl(X) is a belief, prints the message while X is greater than 10",
        seeAlso="jason.stdlib.foreach")
public class loop
extends DefaultInternalAction
Implementation of while.

Syntax:

  while ( logical formula ) {
     plan_body
  }

while logical formula holds, the plan_body is executed.

Example:

+event : context
  <- ....
     while(vl(X) & X > 10) { // where vl(X) is a belief
       .print("value > 10");
       -+vl(X+1);
     }
     ....
The unification resulted from the evaluation of the logical formula is used only inside the loop, i.e., the unification after the while is the same as before.

See Also:
for, Serialized Form