2012-03-25 1 views
3

Wie würde ich Racket verwenden, um eine Datei zu erstellen, in der vom Benutzer eingegebene Daten gespeichert oder bearbeitet werden können, z. B. eine hohe Punktzahl. Ich habe einige Dokumente gelesen und keine klare Antwort gefunden.Dateien über Racket erstellen

Antwort

5

Es gibt einige einfache Funktionen zum Lesen und Schreiben einer Datei in der 2htdp/batch-io-Bibliothek: http://docs.racket-lang.org/teachpack/2htdpbatch-io.html. Sie sind in etwas eingeschränkt, dass sie eine Datei nur im selben Verzeichnis wie das Programm zugreifen selbst, aber man kann so etwas tun:

(require 2htdp/batch-io) 
(write-file "highscore.txt" "Alice 25\nBob 40\n") 

zum Schreiben von Daten in eine Datei (die \ n bedeutet ein Newline-Zeichen), und dann

(read-lines "highscore.txt") 

, um die Zeilen der Datei als eine Liste der Zeichenfolgen zurück zu erhalten.

4

Die Racket Guide hat ein Kapitel über Eingang und Ausgang. Die first section erklärt das Lesen und Schreiben von Dateien mit Beispielen. Es sagt

Dateien: Die open-output-file Funktion eine Datei zum Schreiben öffnet, und open-input-file öffnet eine Datei zum Lesen.

Examples: 
> (define out (open-output-file "data")) 
> (display "hello" out) 
> (close-output-port out) 
> (define in (open-input-file "data")) 
> (read-line in) 
"hello" 
> (close-input-port in) 

Wenn eine Datei bereits vorhanden ist, dann wirft open-output-file eine Ausnahme von Standard. Liefern Sie eine Option wie #:exists 'truncate oder #:exists 'update neu zu schreiben oder aktualisieren, um die Datei:

und so weiter.