1

テキスト ファイルから 1 行を読み取り、リストを返すこの SML/NJ コードがありますが、すべての行に対して同じことを実行し、行がなくなると停止するのに問題があります。ここでループのサンプルを教えてください。

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

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

in listing()
end
4

1 に答える 1

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
于 2009-04-12T22:38:23.330 に答える