Package jason.stdlib

Class intersection

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

@Manual(literal=".intersection(arg0,arg1,arg2)",
        hint="results a sorted set of the intersection of two sets",
        argsHint={"the first set","the other set to intersect with the first","the result of the intersection"},
        argsType={"list","list","list"},
        examples={".intersection(\"[a,b,c]\",\"[b,e]\",X): X unifies with \"[b]\"",".intersection(\"[a,b,a,c]\",\"[f,e,a,c]\",X): X unifies with \"[a,c]\""},
        seeAlso={"jason.stdlib.concat","jason.stdlib.delete","jason.stdlib.length","jason.stdlib.member","jason.stdlib.sort","jason.stdlib.shuffle","jason.stdlib.substring","jason.stdlib.prefix","jason.stdlib.suffix","jason.stdlib.nth","jason.stdlib.max","jason.stdlib.min","jason.stdlib.reverse","jason.stdlib.difference","jason.stdlib.intersection","jason.stdlib.union"})
public class intersection
extends difference

Internal action: .intersection(S1,S2,S3).

Description: S3 is the intersection of the sets S1 and S2 (represented by lists). The result set is sorted.

Parameters:

  • + arg[0] (a list).
  • + arg[1] (a list).
  • +/- arg[2]: the result of the intersection.

Examples:

  • .intersection("[a,b,c]","[b,e]",X): X unifies with "[b]".
  • .intersection("[a,b,a,c]","[f,e,a,c]",X): X unifies with "[a,c]".
See Also:
concat, delete, length, member, sort, substring, nth, max, min, reverse, difference, union, Serialized Form
  • Field Details

  • Constructor Details

    • intersection

      public intersection()
  • Method Details

    • create

      public static InternalAction create()
    • 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 difference
      Throws:
      java.lang.Exception