我想定义一个与下面相反的函数to-string
。
> (read-from-string "(foo a b)")
(FOO A B) ;
答案 0 :(得分: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 :(得分:1)
这似乎有效
(with-output-to-string (s)
(princ '(1 2 3) s))