Common lisp 与从字符串clisp读取相反

Common lisp 与从字符串clisp读取相反,common-lisp,reverse,clisp,Common Lisp,Reverse,Clisp,我想将一个函数定义为string,它执行与以下相反的操作 > (read-from-string "(foo a b)") (FOO A B) ; 这似乎有效 (with-output-to-string (s) (princ '(1 2 3) s)) 这似乎有效 (with-output-to-string (s) (princ '(1 2 3) s)) 这些函数满足您的需要: > (read-from-string "(foo \"Hi\" 17)") (FOO "Hi"

我想将一个函数
定义为string
,它执行与以下相反的操作

> (read-from-string "(foo a b)")
(FOO A B) ;
这似乎有效

(with-output-to-string (s)
  (princ '(1 2 3) s))
这似乎有效

(with-output-to-string (s)
  (princ '(1 2 3) s))
这些函数满足您的需要:

> (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)" 这些函数满足您的需要:

> (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)"
注意,
princ
省略转义字符;因此,请注意对象是否包含字符串,例如,请注意
princ
忽略转义字符;因此,例如,请注意对象是否包含字符串。