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