我只是想知道是否有办法使:“ ((a b))”变成'((a b)).
我用
(symbol->string "((a b))")了这给了我'|((a b))|
这并不是我所需要的。我需要一份清单。
只需在 Racket 中执行此操作:
(call-with-input-string "((a b))" read)
=> '((a b))
使用的好处call-with-input-string是字符串端口会自动关闭,前面已经提到过。
您可以使用readandopen-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的文档。