jason.stdlib
Class sublist
java.lang.Object
jason.asSemantics.DefaultInternalAction
jason.stdlib.sublist
- All Implemented Interfaces:
- InternalAction, java.io.Serializable
public class sublist
- extends DefaultInternalAction
Internal action: .sublist(S,L)
.
Description: checks if some list S is a sublist of list L. If
S has free variables, this internal action backtracks all
possible values for S. This is based on .prefix and .suffix (try prefixes first then prefixes of each suffix).
Parameters:
- +/- sublist (list): the sublist to be checked.
- + list (list): the list where the sublist is from.
Examples:
-
.sublist([a],[a,b,c])
: true.
-
.sublist([b],[a,b,c])
: true.
-
.sublist([c],[a,b,c])
: true.
-
.sublist([a,b],[a,b,c])
: true.
-
.sublist([b,c],[a,b,c])
: true.
-
.sublist([d],[a,b,c])
: false.
-
.sublist([a,c],[a,b,c])
: false.
-
.sublist(X,[a,b,c])
: unifies X with any sublist of the list, i.e., [a,b,c], [a,b], [a], [b,c], [b], [c], and [] in this order;
note that this is not the order in which its usual implementation would return in logic programming (see note on .prefix).
- See Also:
concat
,
length
,
sort
,
nth
,
max
,
min
,
reverse
,
prefix
,
suffix
,
difference
,
intersection
,
union
,
Serialized Form
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
sublist
public sublist()
create
public static InternalAction create()
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