write_term(@stream_or_alias, ?term, +write_options_list) [ISO]

This built-in predicate outputs a term to an output stream. The output stream must be a text stream that was opened for writing or appending data. The data is written in a form defined by the specified write-options list. The possible values of the write options list are:

The Prolog flags print_double_quotes and expand_backslash may affect write_term/3.

see also: char_conversion/2 current_char_conversion/2 current_op/3 op/3 read/1 read/2 read_term/2 read_term/3 write/1 write/2 write_canonical/1 write_canonical/2 write_list/1 write_list/2 write_list_goal/2 write_list_goal/3 write_term/2 writeq/1 writeq/2

Example
write_term(user_out, X=a, [ignore_ops(true)]). succeeds with empty substitution and the following data was written to the 'user_out' output stream: =(__1, a)
Y=a + '$VAR'(53), write_term(user_out, Y, [ignore_ops(true), numbervars(true)]). assume the 'user_out' output stream has contents: =(__1, a)
and the 'user_out' output stream is left as: =(__1, a)+a(, B2)

 

Exceptions  
the write options list is a variable an instantiation_error exception is thrown
the write options list is neither a variable nor a list a type_error(list, WriteOptions) exception is thrown
an element E of the write options list is a variable an instantiation_error exception is thrown
an element E of the write options list is neither a variable nor a valid write option a domain_error(write_option, E) exception is thrown
stream_or_alias is a variable an instantiation_error exception is thrown
stream_or_alias is neither a variable nor a stream term nor an alias a domain_error(stream_or_alias, Stream) exception is thrown, the variable Stream is assigned the incorrect stream_or_alias term
stream_or_alias is not associated with an open stream an existence_error(stream, Stream) exception is thrown
stream_or_alias is an input stream a permission_error(output, stream, Stream) exception is thrown
stream_or_alias is a binary stream a permission_error(output, binary_stream, OutputStream) is thrown, the variable OutputStream is assigned the stream which was used as the output stream


 

info@trinc-prolog.com