Package jason.stdlib
Class loop
java.lang.Object
jason.asSemantics.DefaultInternalAction
jason.stdlib.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:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
checkArguments
(Term[] args) static InternalAction
create()
execute
(TransitionSystem ts, Unifier un, Term[] args) Executes the internal action.int
int
Term[]
prepareArguments
(Literal body, Unifier un) Prepare body's terms to be used in 'execute', normally it consist of cloning and applying each termMethods inherited from class jason.asSemantics.DefaultInternalAction
canBeUsedInContext, destroy, suspendIntention
-
Constructor Details
-
loop
public loop()
-
-
Method Details
-
create
-
prepareArguments
Description copied from interface:InternalAction
Prepare body's terms to be used in 'execute', normally it consist of cloning and applying each term- Specified by:
prepareArguments
in interfaceInternalAction
- Overrides:
prepareArguments
in classDefaultInternalAction
-
getMinArgs
public int getMinArgs()- Overrides:
getMinArgs
in classDefaultInternalAction
-
getMaxArgs
public int getMaxArgs()- Overrides:
getMaxArgs
in classDefaultInternalAction
-
checkArguments
- Overrides:
checkArguments
in classDefaultInternalAction
- Throws:
JasonException
-
execute
Description copied from interface:InternalAction
Executes the internal action. It should return a Boolean or an Iterator. A true boolean return means that the IA was successfully executed. An Iterator result means that there is more than one answer for this IA (e.g. see member internal action). - Specified by:
execute
in interfaceInternalAction
- Overrides:
execute
in classDefaultInternalAction
- Throws:
Exception
-