我正在尝试从 SML 文件中读取文本,但无法正常工作。这就是我正在尝试的
fun read file =
let val inStream = TextIO.openIn file
in
TextIO.StreamIO.input1 inStream
end
实际的函数调用input1
并不重要,我想要的只是能够从文件中读取。
我正在尝试从 SML 文件中读取文本,但无法正常工作。这就是我正在尝试的
fun read file =
let val inStream = TextIO.openIn file
in
TextIO.StreamIO.input1 inStream
end
实际的函数调用input1
并不重要,我想要的只是能够从文件中读取。
你的错误在于TextIO.StreamIO.input1
,你的意思很可能是TextIO.input1
。
如果您确实需要/不想使用 StreamIO 处理文件,则必须将 ,instream
返回的类型转换openIN
为StreamIO.instream
带有TextIO.getInstream
函数的类型。
您可以在 SML 基础库TEXT_IO 签名中阅读有关这一切的更多信息。
请记住,在完成读取文件后关闭文件是一种很好的做法。
更新
正如评论中所建议的,您可以阅读整个文件(如果您知道它很小),也可以逐行阅读。
如果您不想逐字获取内容,最简单的方法是按空格分割内容。这样,您最终将得到一个字符串列表,这些字符串代表文件中的每个单独的“单词”。