Class puts
- All Implemented Interfaces:
InternalAction
,java.io.Serializable
@Manual(literal=".puts(prefix,list)", hint="prints messages to the console where the system is running, or unifying the message to a variable parameter", argsHint={"the prefix to be checked","the list where the prefix is from"}, argsType={"list","list"}, examples={".puts(\"Test #{A}\"): prints out to the console the supplied string replacing #{A} with the value of variable A",".puts(\"Test #{A}, into B\", B): tries to unify B with the supplied string replacing #{A} with the value of variable A",".puts(\"The expression is #{X+2}\"): prints out the result of the X+2 expression"}, seeAlso="") public class puts extends DefaultInternalAction
Internal action: .puts
.
Description: used for printing messages to the console where the system is running, or unifying the message to a variable parameter. It receives one string parameter, containing escaped variable names that are replaced by their bindings in the current intention's unifier. Terms are made ground according to the current unifying function before being printed out. No new line is printed after the parameters. In this version a user can also include any Jason expression (logical or arithmetic) that will be replaced by it's evaluated value.
The precise format and output device of the message is defined by the Java
logging configuration as defined in the logging.properties
file in the project directory.
Parameters:
- +message (string): the string to be printed out.
- -output (any variable [optional]): the variable to print the processed result.
Example:
-
.puts("Testing variable #{A}")
: prints out to the console the supplied string replacing #{A} with the value of variable A. -
.puts("Testing variable #{A}, into B", B)
: tries to unify B with the supplied string replacing #{A} with the value of variable A. -
.puts("The value of the expression is #{X+2}")
: prints out the result of the X+2 expression. Assuming X is unified to a numeric value, the printed result will be the sum of X and two, if X is unified to any other value, the original expression (X+2) will be printed.
- Author:
- Felipe Meneguzzi (http://www.meneguzzi.eu/felipe)
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.regex.Pattern
regex
private static InternalAction
singleton
-
Constructor Summary
Constructors Constructor Description puts()
-
Method Summary
Modifier and Type Method Description protected void
checkArguments(Term[] args)
static InternalAction
create()
java.lang.Object
execute(TransitionSystem ts, Unifier un, Term[] args)
Executes the internal action.int
getMaxArgs()
int
getMinArgs()
void
makeVarsAnnon(Literal l, Unifier un)
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
-
Field Details
-
singleton
-
regex
java.util.regex.Pattern regex
-
-
Constructor Details
-
puts
public puts()
-
-
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
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
-
makeVarsAnnon
-