Package jason.stdlib
Class substring
java.lang.Object
jason.asSemantics.DefaultInternalAction
jason.stdlib.substring
- All Implemented Interfaces:
InternalAction
,Serializable
Internal action: .substring
.
Description: checks if a string is sub-string of another string. The arguments can be other kinds of terms, in which case the toString() of the term is used. If "position" is a free variable, the internal action backtracks all possible values for the positions where the sub-string occurs in the string.
Parameters:
- + substring (any term).
- +/- string (any term).
- +/- start position (optional -- integer): the initial position of the string where the sub-string occurs.
- +/- end position (optional -- integer): the position in the string where the sub-string ends.
Examples:
-
.substring("b","aaa")
: false. -
.substring("b","aaa",X)
: false. -
.substring("a","bbacc")
: true. -
.substring("a","abbacca",X)
: true andX
unifies with 0, 3, and 6. -
.substring("a","bbacc",0)
: false. When the third argument is 0, .substring works like a java startsWith method. -
.substring(a(10),b(t1,a(10)),X)
: true andX
unifies with 5. -
.substring(a(10),b("t1,a(10),kk"),X)
: true andX
unifies with 6. -
.substring(R,a(10,20),5)
: true andR
unifies with "20)". -
.substring(R,a(10,20),5,7)
: true andR
unifies with "20".
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic InternalAction
create()
execute
(TransitionSystem ts, Unifier un, Term[] args) Executes the internal action.int
int
Methods inherited from class jason.asSemantics.DefaultInternalAction
canBeUsedInContext, checkArguments, destroy, prepareArguments, suspendIntention
-
Constructor Details
-
substring
public substring()
-
-
Method Details
-
create
-
getMinArgs
public int getMinArgs()- Overrides:
getMinArgs
in classDefaultInternalAction
-
getMaxArgs
public int getMaxArgs()- Overrides:
getMaxArgs
in classDefaultInternalAction
-
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
-