public class loop extends DefaultInternalAction
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.
for
,
Serialized FormConstructor and Description |
---|
loop() |
Modifier and Type | Method and Description |
---|---|
protected void |
checkArguments(Term[] args) |
static InternalAction |
create() |
java.lang.Object |
execute(TransitionSystem ts,
Unifier un,
Term[] args)
Executes the internal action.
|
int |
getMaxArgs() |
int |
getMinArgs() |
Term[] |
prepareArguments(Literal body,
Unifier un)
Prepare body's terms to be used in 'execute', normally it consist of cloning and applying each term
|
canBeUsedInContext, destroy, suspendIntention
public static InternalAction create()
public Term[] prepareArguments(Literal body, Unifier un)
InternalAction
prepareArguments
in interface InternalAction
prepareArguments
in class DefaultInternalAction
public int getMinArgs()
getMinArgs
in class DefaultInternalAction
public int getMaxArgs()
getMaxArgs
in class DefaultInternalAction
protected void checkArguments(Term[] args) throws JasonException
checkArguments
in class DefaultInternalAction
JasonException
public java.lang.Object execute(TransitionSystem ts, Unifier un, Term[] args) throws java.lang.Exception
InternalAction
execute
in interface InternalAction
execute
in class DefaultInternalAction
java.lang.Exception