% 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-string
かprinc-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-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))