Function WRITE-TO-STRING, PRIN1-TO-STRING, PRINC-TO-STRING

UP


Function WRITE-TO-STRING, PRIN1-TO-STRING, PRINC-TO-STRING

Function WRITE-TO-STRING, PRIN1-TO-STRING, PRINC-TO-STRING

構文

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

引数と戻り値

object - オブジェクト
array - generalized-boolean
base - 基数
case - 型(member :upcase :downcase :capitalize)のシンボル
circle - generalized-boolean
escape - generalized-boolean
gensym - generalized-boolean
length - 非負の整数か、nil
level - 非負の整数か、nil
lines - 非負の整数か、nil
miser-width - 非負の整数か、nil
pprint-dispatch - pprintディスパッチテーブル
pretty - generalized-boolean
radix - generalized-boolean
readably - generalized-boolean
right-margin - 非負の整数か、nil
string - 文字列

定義

write-to-string, prin1-to-string, princ-to-stringは、 objectの印刷表現を含む文字列を生成するときに使用されます。 objectは、それぞれwrite, prin1, princによるものとして 効率的に印刷され、 出力の文字が文字列の中に作成されます。

write-to-stringは一般的な出力関数です。 これは指定されたすべてのパラメーターを適切に扱い objectを印刷する能力があります。

prin1-to-stringは、 write-to-string:escape tを付与したように動作し、 これはエスケープ文字が適切な場所に記載されることを意味しています。

princ-to-stringは、 write-to-string:escape nil :readably nilを付与したように動作します。 したがってエスケープ文字は記載されません。

prin1-to-stringprinc-to-stringが実行されたとき、 他の全てのキーワードは write-to-stringに指定されたもののデフォルト値になります。

この意味は、write-to-stringのキーワード引数のデフォルトは、 writeのものと同じであるということです。

例文

(prin1-to-string "abc") =>  "\"abc\""
(princ-to-string "abc") =>  "abc"

副作用

なし。

影響

*print-escape*, *print-radix*, *print-base*, *print-circle*, *print-pretty*, *print-level*, *print-length*, *print-case*, *print-gensym*, *print-array*, *read-default-float-format*

例外

なし。

参考

write

備考

(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))

TOP, Github