Package jason.stdlib

Class concat

java.lang.Object
All Implemented Interfaces:
InternalAction, java.io.Serializable

@Manual(literal=".concat(arg0,arg1[,...],result)",
        hint="concatenates strings or lists",
        argsHint={"the first term","the term to be concatenated with prior","the term to be concatenated with prior ones [optional]","the result of the concatenation"},
        argsType={"term or list","term or list","term or list","string"},
        examples={".concat(\"a\",\"b\",X): X unifies with \"ab\"",".concat(\"a\",\"b\",\"a\"): false",".concat(\"a b\",1,a,X): X unifies with \"a b1a\"",".concat(\"a\", \"b\", \"c\", \"d\", X): X unifies with \"abcd\"",".concat([a,b,c],[d,e],[f,g],X): X unifies with [a,b,c,d,e,f,g]"},
        seeAlso={"jason.stdlib.delete","jason.stdlib.length","jason.stdlib.member","jason.stdlib.sort","jason.stdlib.shuffle","jason.stdlib.substring","jason.stdlib.prefix","jason.stdlib.suffix","jason.stdlib.nth","jason.stdlib.max","jason.stdlib.min","jason.stdlib.reverse","jason.stdlib.difference","jason.stdlib.intersection","jason.stdlib.union"})
public class concat
extends DefaultInternalAction

Internal action: .concat.

Description: concatenates strings or lists.

Parameters:

  • + arg[0] ... + arg[n-1] (any term or list): the terms to be concatenated.
  • +/- arg[n]: the result of the concatenation.
Parameters that are not string are concatenated using the toString method of their class.

Examples:

  • .concat("a","b",X): X unifies with "ab".
  • .concat("a","b","a"): false.
  • .concat("a b",1,a,X): X unifies with "a b1a".
  • .concat("a", "b", "c", "d", X): X unifies with "abcd".
  • .concat([a,b,c],[d,e],[f,g],X): X unifies with [a,b,c,d,e,f,g].

Note: this internal action does not implement backtrack. You if need backtrack, you can add and use the following rules in your code:

  concat([ ], L, L).
  concat([H|T], L, [H|M]) :- concat(T, L, M).
  
See Also:
delete, length, member, sort, substring, nth, max, min, reverse, difference, intersection, union, Serialized Form
  • Field Details

  • Constructor Details

    • concat

      public concat()
  • Method Details

    • create

      public static InternalAction create()
    • 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
    • getPlainValue

      java.lang.String getPlainValue​(Term t)