Class RuleToFunction

java.lang.Object
jason.asSemantics.DefaultArithFunction
jason.functions.RuleToFunction
All Implemented Interfaces:
ArithFunction, java.io.Serializable

public class RuleToFunction
extends DefaultArithFunction
Wraps a rule into a function. For example the rule sum(X,Y,Z) :- Z = X+Y. is wrapped in a function sum(X,Y).

To define sum as a function the user should register it using a directive in the ASL code: { register_function("myf.sum",2,"sum") } where myf.sum is the name of the function, sum is the name of the rule (or literal, or internal action) and 2 is the function's arity.

Author:
Jomi
See Also:
Serialized Form
  • Field Summary

    Fields
    Modifier and Type Field Description
    private int arity  
    private java.lang.String literal  
  • Constructor Summary

    Constructors
    Constructor Description
    RuleToFunction​(java.lang.String literal, int arity)  
  • Method Summary

    Modifier and Type Method Description
    boolean allowUngroundTerms()
    returns true if the arguments of the function can be unground (as in .count)
    boolean checkArity​(int a)
    returns true if a is a good number of arguments for the function
    double evaluate​(TransitionSystem ts, Term[] args)
    evaluates/computes the function based on the args
    java.lang.String getName()
    returns the name of the function
    java.lang.String toString()  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait