[ Term Manipulation | Reference Manual | Alphabetic Index ]
term_string(?Term, ?String, +Options)
Configurable conversion between a Prolog term and a string.
- Term
- Prolog term.
- String
- String or a variable.
- Options
- List of read or write options
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) instantiation fault 
- Options is insufficiently instantiated.
- (5) type error 
- String is instantiated, but not to a string.
- (5) type error 
- Options is not a list or does not only contain compound terms.
- (6) out of range 
- Options is a list containing compound terms that are not valid options.
- (7) string contains unexpected characters 
- 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