2016-05-03 16 views
-3

Ich muss eine Textdatei Zeichen für Zeichen in SMLNJ lesen und in einer Liste speichern. Die Datei besteht aus einer Zeile mit Zahlen, ohne Leerzeichen oder irgendeine Form der Trennung. Meine Frage ist, wie bekomme ich ein einzelnes Zeichen aus der Datei und füge es der Liste der Charaktere hinzu?Datei von Zeichen in SMLNJ lesen

Beispiel:

12345678 

Ergebnis:

val input = [1, 2, 3, 4, 5, 6, 7, 8] 
+2

Das ist nicht wirklich eine Frage. Haben Sie Schwierigkeiten mit einem Teil davon? Wenn ja, welcher Teil? (Wissen Sie, wie man eine Textdatei Zeichen für Zeichen liest? Wissen Sie, wie man eine Liste zusammenstellt?) – ruakh

+1

Mögliches Duplikat von [Wie bekomme ich eine Zeichenfolge von TextIO in sml/ml?] (Http://stackoverflow.com/questions/14529807/how-to-get-a-string-von-textio-in-sml-ml) –

Antwort

1

den folgenden Code verwenden Sie eine Liste von Zeichen, die durch den Inhalt der Datei zu lesen als String bekommen können (TextIO.vector genau zu sein). Die Explode-Funktion wird für die Umwandlung in eine Liste von Zeichen verwendet.

fun parse file = 
let 
    fun next_String input = (TextIO.inputAll input) 
    val stream = TextIO.openIn file 
    val a = next_String stream 
in 
    explode(a) 
end 
+4

Denken Sie daran, Ihre Dateideskriptoren nach der Verwendung zu schließen! –