如何从SML中读取文件?

Nos*_*tap 4 functional-programming ml sml

我正在尝试从SML文件中读取文本,但我无法让它工作.这就是我正在尝试的

fun read file =
let val inStream = TextIO.openIn file

in
        TextIO.StreamIO.input1 inStream
end
Run Code Online (Sandbox Code Playgroud)

实际的函数调用input1并不重要,我想要的只是能够从文件中读取.

Jes*_*erg 6

你错了TextIO.StreamIO.input1,你很可能意味着TextIO.input1.

如果你真的需要/ wan't使用StreamIO文件工作,您必须将转换instream的返回类型openIN,一种StreamIO.instreamTextIO.getInstream功能.

您可以在SML Basis库TEXT_IO签名中阅读有关所有这些的更多信息.

请记住,最好在完成文件阅读后关闭文件.

更新

正如评论中所建议的那样,您可以读入整个文件(如果您知道它很小),也可以逐行阅读.
如果你不想逐字逐句地获取内容,最容易做的就是用空格分割内容.这样,您最终会得到一个字符串列表,表示文件中的每个单词"单词".