Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## jason.stdlib
Class foreach

    java.lang.Object
      jason.asSemantics.DefaultInternalAction
          jason.stdlib.foreach

All Implemented Interfaces:
  InternalAction, java.io.Serializable

    public class foreach

extends DefaultInternalAction

Implementation of for.

Syntax:

      for ( logical formula ) {
         plan_body
      }

for all unifications of logical formula, the plan_body is executed.

Example:

    +event : context
      <- ....
         for ( vl(X) ) {
            .print(X);     // print all values of X
         }
         for ( .member(X,[a,b,c]) ) {
            .print(X);    // print all members of the list
         }
         for ( .range(I,1,10) ) {
            .print(I);    // print all values from 1 to 10
         }
         ....

The unification resulted from the evaluation of the logical formula is used only inside the loop, i.e., the unification after the for is the same as before.

See Also:
  `while`, Serialized Form

Constructor Summary
`foreach()`

Method Summary
`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

Methods inherited from class jason.asSemantics.DefaultInternalAction
`canBeUsedInContext, suspendIntention`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### foreach

    public foreach()

Method Detail

### create

    public static InternalAction create()

### prepareArguments

    public Term[] prepareArguments(Literal body,
                                   Unifier un)

  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 interface `InternalAction`
  Overrides:
    `prepareArguments` in class `DefaultInternalAction`

### getMinArgs

    public int getMinArgs()

  Overrides:
    `getMinArgs` in class `DefaultInternalAction`

### getMaxArgs

    public int getMaxArgs()

  Overrides:
    `getMaxArgs` in class `DefaultInternalAction`

### checkArguments

    protected void checkArguments(Term[] args)
                           throws JasonException

  Overrides:
    `checkArguments` in class `DefaultInternalAction`
  Throws:
    `JasonException`

### execute

    public java.lang.Object execute(TransitionSystem ts,
                                    Unifier un,
                                    Term[] args)
                             throws java.lang.Exception

  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 interface `InternalAction`
  Overrides:
    `execute` in class `DefaultInternalAction`
  Throws:
    `java.lang.Exception`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD