Package jason.stdlib
Class substring
java.lang.Object
jason.asSemantics.DefaultInternalAction
jason.stdlib.substring
- All Implemented Interfaces:
InternalAction
,java.io.Serializable
public class substring extends DefaultInternalAction
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:
concat
,delete
,length
,reverse
, Serialized Form
-
Field Summary
Fields Modifier and Type Field Description private static InternalAction
singleton
-
Constructor Summary
Constructors Constructor Description substring()
-
Method Summary
Modifier and Type Method Description static InternalAction
create()
java.lang.Object
execute(TransitionSystem ts, Unifier un, Term[] args)
Executes the internal action.int
getMaxArgs()
int
getMinArgs()
Methods inherited from class jason.asSemantics.DefaultInternalAction
canBeUsedInContext, checkArguments, destroy, prepareArguments, suspendIntention
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
singleton
-
-
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
public java.lang.Object execute(TransitionSystem ts, Unifier un, Term[] args) throws java.lang.ExceptionDescription 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:
java.lang.Exception
-