在 SMLNJ 中逐字符读取文件

Read file character by character in SMLNJ

我需要在 SMLNJ 中逐字符读取文本文件并将其存储在列表中。该文件由一行数字组成,没有空格或任何形式的分隔。我的问题是如何从文件中获取单个字符并将其添加到字符列表中?

示例:

12345678

结果:

val input = [1, 2, 3, 4, 5, 6, 7, 8]

使用以下代码,您可以通过将文件内容作为字符串读取来获取字符列表(准确地说是 TextIO.vector)。 explode 函数用于转换为字符列表。

fun parse file =
let
    fun next_String input = (TextIO.inputAll input) 
    val stream = TextIO.openIn file
    val a = next_String stream
in
    explode(a)
end