69 Stimmen

Wie liest man eine Datei in eine Seq von Zeilen in F# ein?

Dies ist die C#-Version:

public static IEnumerable ReadLinesEnumerable(string path) {
  using ( var reader = new StreamReader(path) ) {
    var line = reader.ReadLine();
    while ( line != null ) {
      yield return line;
      line = reader.ReadLine();
    }
  }
}

Aber eine direkte Übersetzung benötigt eine veränderbare Variable.

0voto

Ilya Kharlamov Punkte 3413

Um die Ausnahme "System.ObjectDisposedException: Cannot read from a closed TextReader." zu vermeiden, verwenden Sie:

let lines = seq { yield! System.IO.File.ReadLines "/Pfad/zur/Datei.txt" }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X