
term_string(?Term, ?String, +Options)

   Configurable conversion between a Prolog term and a string.

Arguments
   Term                Prolog term.
   String              String or a variable.
   Options             List of read or write options

Type
   Term Manipulation

Description

   If String is instantiated, its contents are parsed (using read_term/3
   and the given Options).

   If String is not instantiated, Term is written into a string (using
   write_term/3 with options corresponding to writeq/2, followed and
   possibly overridden by the given Options).

   Inapplicable options are silently ignored.




Modes and Determinism
   term_string(?, -, +) is det
   term_string(-, +, +) is det

Modules
   This predicate is sensitive to its module context (tool predicate, see @/2).

Exceptions
     4 --- Options is insufficiently instantiated.
     5 --- String is instantiated, but not to a string.
     5 --- Options is not a list or does not only contain compound terms.
     6 --- Options is a list containing compound terms that are not valid options.
     7 --- String cannot be converted to a Prolog term.

Examples
   
    ?- term_string([1,a], S, [dotlists(true)])
    S = ".(1,.(a,[]))"

    ?- term_string(['A',3+4], S, [quoted(false),operators(false)])
    S = "['A',+(3,4)]"

    ?- term_string(T, "[1,Y,_]", [variable_names(V)]).
    T = [1, Y, _208]
    V = ['Y' = Y]



See Also
   term_string / 2, number_string / 2, read_term / 3, write_term / 3, sprintf / 3
