循环在SML / NJ中的文本文件的行

时间:2009-03-25 09:55:46

标签: smlnj

我有这个SML / NJ代码从文本文件中读取一行,然后它将为我返回一个列表,但我无法让它对每一行执行相同的操作并在没有时停止更多行。任何人都可以通过在这里给我一个循环样本来帮助我吗?

fun readlist(infile : string) =
let val ins = TextIO.openIn infile

    val list = []
     fun listing() = [TextIO.inputLine ins]::list;

in listing()
end

1 个答案:

答案 0 :(得分:7)

这样的事情怎么样:

fun readlist (infile : string) = let
  val ins = TextIO.openIn infile
  fun loop ins =
   case TextIO.inputLine ins of
      SOME line => line :: loop ins
    | NONE      => []
in
  loop ins before TextIO.closeIn ins
end