File I/O In DrScheme

2019-09-05 14:47发布

(read) takes in a string from stdin, parses it as an s-expression, and returns that expression. How do I do the exact same thing, except taking input from a file?

1条回答
ゆ 、 Hurt°
2楼-- · 2019-09-05 15:14

Any of these:

(call-with-input-file "foo" read)
(with-input-from-file "foo" read)

The first will open the file and apply read on the open port to read a value and finally close it. The second is similar, except that it applies the function on no arguments in a dynamic context where the current input is read from the file. There are a bunch of other ways to do this, but you'll need to ask a more specific question...

(BTW, in the current repository version, which will be released as 4.2.3 soon, there is a new file->list function that will read all sexpressions from the file and return a list holding all of them.)

查看更多
登录 后发表回答