2009-03-25 7 views
1

J'ai ce code SML/NJ qui lit une seule ligne à partir d'un fichier texte, puis il me retourne une liste, mais j'ai du mal à la faire faire la même chose chose à chaque ligne et arrêter quand il n'y a plus de lignes. Quelqu'un peut-il m'aider s'il vous plaît en me donnant un échantillon en boucle ici?Boucle sur les lignes d'un fichier texte en SML/NJ

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

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

in listing() 
end 

Répondre

6

Que diriez-vous quelque chose comme ceci:

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 
Questions connexes