How do I convert a string into the corresponding code in PLT Scheme (which does not contain the string->input-port
method)? For example, I want to convert this string:
"(1 (0) 1 (0) 0)"
into this list:
'(1 (0) 1 (0) 0)
Is it possible to do this without opening a file?
Scheme has procedure read
for reading s-expressions from input port and you can convert a string to input stream with string->input-port
. So, you can read a Scheme object from a string with
(read (string->input-port "(1 (0) 1 (0) 0)"))
I don't have Scheme installed, so I only read it from reference and didn't actually test it.
From PLT Scheme manual:
(open-input-string string [name-v])
creates an input port that reads bytes from the UTF-8 encoding (see section 1.2.3) of string. The optional name-v
argument is used as the name for the returned port; the default is 'string
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With