ToC | DocOverview | CGDoc | RelNotes | Index | PermutedIndex
| Allegro CL

| ANSI Common Lisp 22 Printer 22.4 Dictionary of Printer
22.4.15 write-to-string, prin1-to-string, princ-to-string | Function
  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.

© Franz Inc. All Rights Reserved - File last updated 2022-07-25