2017-07-29 43 views

回答

4

功能write-to-string and prin1-to-string做你想要什么:

 
> (read-from-string "(foo \"Hi\" 17)") 
(FOO "Hi" 17) ; 

> (prin1-to-string '(FOO "Hi" 17)) 
"(FOO \"Hi\" 17)" 
> (write-to-string '(FOO "Hi" 17)) 
"(FOO \"Hi\" 17)" 

功能write-to-string还采用关键字参数,使您可以调整结果:

 
> (write-to-string '(FOO "Hi" 17) :case :downcase) 
"(foo \"Hi\" 17)" 
1

这似乎工作

(with-output-to-string (s) 
    (princ '(1 2 3) s)) 
+0

请注意,'princ'省略转义字符;因此请注意,如果您的对象包含字符串,例如。 –