1 smlnj
我有这个SML/NJ代码从文本文件中读取一行,然后它会为我返回一个列表,但我无法让它对每一行做同样的事情,并在没有更多行时停止.有人可以通过在这里给我一个循环样本来帮助我吗?
fun readlist(infile : string) =
let val ins = TextIO.openIn infile
val list = []
fun listing() = [TextIO.inputLine ins]::list;
in listing()
end
Run Code Online (Sandbox Code Playgroud)
这样的事情怎么样:
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
Run Code Online (Sandbox Code Playgroud)