- Syntax:
-
write-to-string object &key | array base case circle escape gensym |
| length level lines miser-width pprint-dispatch |
| pretty radix readably right-margin |
string
prin1-to-string
object
string
princ-to-string
object
string
- Arguments and Values:
-
object - an object.
array - a generalized boolean.
base - a radix.
case - a symbol of type (member :upcase :downcase :capitalize).
circle - a generalized boolean.
escape - a generalized boolean.
gensym - a generalized boolean.
length - a non-negative integer, or nil.
level - a non-negative integer, or nil.
lines - a non-negative integer, or nil.
miser-width - a non-negative integer, or nil.
pprint-dispatch - a pprint dispatch table.
pretty - a generalized boolean.
radix - a generalized boolean.
readably - a generalized boolean.
right-margin - a non-negative integer, or nil.
string - a string.
- Description:
-
write-to-string, prin1-to-string, and princ-to-string
are used to create a string consisting of the printed representation
of object.
Object is effectively printed as if by write,
prin1, or princ, respectively,
and the characters that would be output are made
into a string.
write-to-string is the general output function.
It has the ability to specify all the parameters applicable
to the printing of object.
prin1-to-string acts like write-to-string with
:escape t, that is, escape characters are written where appropriate.
princ-to-string acts like write-to-string with
:escape nil :readably nil.
Thus no escape characters are written.
All other keywords that would be specified to write-to-string
are default values when prin1-to-string
or princ-to-string is invoked.
The meanings and defaults for the keyword arguments to write-to-string
are the same as those for write.
- Examples:
-
(prin1-to-string "abc") "\"abc\""
(princ-to-string "abc") "abc"
- Affected By:
-
*print-escape*,
*print-radix*,
*print-base*,
*print-circle*,
*print-pretty*,
*print-level*,
*print-length*,
*print-case*,
*print-gensym*,
*print-array*,
*read-default-float-format*.
- See Also:
-
write
- Notes:
-
(write-to-string object {key argument}*)
==(with-output-to-string (#1=#:string-stream)
(write object :stream #1# {key argument}*))
(princ-to-string object)
==(with-output-to-string (string-stream)
(princ object string-stream))
(prin1-to-string object)
==(with-output-to-string (string-stream)
(prin1 object string-stream))
- Allegro CL Implementation Details:
-
None.