Package jason.stdlib
Class sort
java.lang.Object
jason.asSemantics.DefaultInternalAction
jason.stdlib.sort
- All Implemented Interfaces:
InternalAction
,Serializable
@Manual(literal=".sort(list,result)",
hint="sorts a list of terms using the \"natural\" order. For different types, the order is: numbers < atoms < structures < lists",
argsHint={"the list the be sorted","the resulting sorted list"},
argsType={"list","list"},
examples={".sort([C,b(4),A,4,b(1,1),\"x\",[],[c]],X): X unifies with [4,\"x\",[],[c],b(4),b(1,1),A,C]",".sort([a],[b,c],[a,b],~a(3),a(e,f),b,a(3)],X): X unifies with [[a],[a,b],[b,c],b,a(3),a(e,f),~a(3)]",".sort(b(3),a(10)[30],a(10)[5],a,a(d,e)],X): X unifies with [a,a(10)[5],a(10)[30],b(3),a(d,e)]",".sort([3,2,5],[2,3,5]): true",".sort([3,2,5],[a,b,c]): false"},
seeAlso={"jason.stdlib.concat","jason.stdlib.delete","jason.stdlib.length","jason.stdlib.member","jason.stdlib.shuffle","jason.stdlib.nth","jason.stdlib.max","jason.stdlib.min","jason.stdlib.reverse","jason.stdlib.difference","jason.stdlib.intersection","jason.stdlib.union"})
public class sort
extends DefaultInternalAction
Internal action: .sort
.
Description: sorts a list of terms. The "natural" order for each type of
terms is used. Between different types of terms, the following order is
used:
numbers < strings < lists < literals (by negation, arity, functor, terms, annotations) < variables
Parameters:
- + unordered list (list): the list the be sorted.
- +/- ordered list (list): the sorted list.
Examples:
-
.sort([c,a,b],X)
:X
unifies with[a,b,c]
. -
.sort([C,b(4),A,4,b(1,1),"x",[],[c],[a],[b,c],[a,b],~a(3),a(e,f),b,a(3),b(3),a(10)[30],a(10)[5],a,a(d,e)],X)
:X
unifies with[4,"x",[],[a],[c],[a,b],[b,c],a,b,a(3),a(10)[5],a(10)[30],b(3),b(4),a(d,e),a(e,f),b(1,1),~a(3),A,C]
. -
.sort([3,2,5],[2,3,5])
: true. -
.sort([3,2,5],[a,b,c])
: false.
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
checkArguments
(Term[] args) static InternalAction
create()
execute
(TransitionSystem ts, Unifier un, Term[] args) Executes the internal action.int
int
Methods inherited from class jason.asSemantics.DefaultInternalAction
canBeUsedInContext, destroy, prepareArguments, suspendIntention
-
Constructor Details
-
sort
public sort()
-
-
Method Details
-
create
-
getMinArgs
public int getMinArgs()- Overrides:
getMinArgs
in classDefaultInternalAction
-
getMaxArgs
public int getMaxArgs()- Overrides:
getMaxArgs
in classDefaultInternalAction
-
checkArguments
- Overrides:
checkArguments
in classDefaultInternalAction
- Throws:
JasonException
-
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
-