use*_*346 2 scheme functional-programming racket
如何将字符串转换为可在 Racket 提示符中计算的"(+ ( - 5 2) 8)"
s 表达式?(+ (- 5 2) 8)
我尝试过string->symbol
,但它返回了'|(+ ( - 5 2) 8)|
,这不是我想要的。
小智 6
racket(或任何其他 lisp)中的函数read
就是这样做的。exceptread
将从输入端口而不是字符串读取。您可以使用open-input-string
函数来实现这一点。
(read (open-input-string "(+ (- 5 2))"))
Run Code Online (Sandbox Code Playgroud)