Package jason.stdlib
Class count
java.lang.Object
jason.asSemantics.DefaultInternalAction
jason.stdlib.count
- All Implemented Interfaces:
InternalAction
,java.io.Serializable
@Manual(literal=".count(query,result)", hint="counts the number of occurrences of a belief the belief base", argsHint={"the formula used to count literals in the belief base","the resulting unification of the number of occurrences of the belief"}, argsType={"logical formula","number"}, examples={".count(a(2,_),N): counts the number of beliefs that unify with a(2,_); N unifies with this quantity",".count((a(2,X)& X>10),N): counts the number of beliefs that unify with a(2,X) and X > 10; N unifies with this quantity",".count(a(2,_),5): succeeds if the BB has exactly 5 beliefs that unify with a(2,_)"}, seeAlso={"jason.stdlib.findall","jason.functions.Count"}) public class count extends DefaultInternalAction
Internal action: .count
.
Description: counts the number of occurrences of a particular belief (pattern) in the agent's belief base.
Parameters:
- + query (logical formula): the formula used to count literals in the belief base;
is has the same syntax as the plan context.
- +/- quantity (number): the number of occurrences of the belief.
Examples:
-
.count(a(2,_),N)
: counts the number of beliefs that unify witha(2,_)
;N
unifies with this quantity. -
.count((a(2,X)& X>10),N)
: counts the number of beliefs that unify witha(2,X)
and X > 10;N
unifies with this quantity. -
.count(a(2,_),5)
: succeeds if the BB has exactly 5 beliefs that unify witha(2,_)
.
- See Also:
findall
,setof
,namespace
,function version
, Serialized Form
-
Constructor Summary
Constructors Constructor Description count()
-
Method Summary
Modifier and Type Method Description protected void
checkArguments(Term[] args)
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, destroy, prepareArguments, suspendIntention
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
count
public count()
-
-
Method Details
-
getMinArgs
public int getMinArgs()- Overrides:
getMinArgs
in classDefaultInternalAction
-
getMaxArgs
public int getMaxArgs()- Overrides:
getMaxArgs
in classDefaultInternalAction
-
checkArguments
- Overrides:
checkArguments
in classDefaultInternalAction
- Throws:
JasonException
-
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
-