Package jason.stdlib

Class loop

All Implemented Interfaces:
InternalAction, 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
  invalid input: '<'- ....
     while(vl(X) invalid input: '&' 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: