编写一个 SML 函数,该函数采用文件名和 return 不带空格的字符列表

Write a SML function that take the name of a file and return a list of char without spaces

在一次考试中我发现了这个练习: “编写一个接受文件名(即“text.txt”)和 return 不带空格的字符列表的函数”

例如:

"text.txt" 包含 "ab e ad c" 函数必须 return -> [#"a",#"b",#"e",#"a",#"d",#"c"]

最简单的解题方法是什么?

我尝试使用库“TextIO”和函数“input1”,但我卡住了。我不知道如何递归地实现该功能。有人可以帮忙吗?

fun chars filename =
  let
    val f = TextIO.openIn filename
    val s = TextIO.inputAll f
  in
    TextIO.closeIn f;
    List.filter (fn c => c <> #" ") (explode s)
  end