我只是想知道是否有办法使:“ ((a b))
”变成'((a b))
.
我用
(symbol->string "((a b))")
了这给了我'|((a b))|
这并不是我所需要的。我需要一份清单。
只需在 Racket 中执行此操作:
(call-with-input-string "((a b))" read)
=> '((a b))
使用的好处call-with-input-string
是字符串端口会自动关闭,前面已经提到过。
您可以使用read
andopen-input-string
一起将字符串解析为列表。
> (define (string->list str) (read (open-input-string str)))
> (string->list "((a b))")
'((a b))
这首先将字符串转换为input-port
(数据流),然后从 ainput-port
转换为list
. 请参阅open-input-string和read的文档。