Создание файлов через ракетку - PullRequest
3 голосов
/ 25 марта 2012

Как бы я использовал Racket для создания файла, чтобы иметь возможность хранить и редактировать введенные пользователем данные или, например, высокий балл.Я прочитал некоторые документы и не нашел четкого ответа, как это сделать.

Ответы [ 2 ]

5 голосов
/ 25 марта 2012

В библиотеке 2htdp/batch-io есть несколько простых функций для чтения и записи файла: http://docs.racket -lang.org / teachpack / 2htdpbatch-io.html .Они несколько ограничены в том, что имеют доступ к файлу только в том же каталоге, что и сама программа, но вы можете сделать что-то вроде:

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

для записи данных в файл (\ n означает символ новой строки), а затем

(read-lines "highscore.txt")

, чтобы получить обратно строки файла в виде списка строк.

4 голосов
/ 25 марта 2012

Руководство по ракеткам содержит главу о входе и выходе. первый раздел объясняет чтение и запись файлов, с примерами. Это говорит

Файлы: функция open-output-file открывает файл для записи и open-input-file открывает файл для чтения.

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)

Если файл уже существует, то open-output-file вызывает исключение на дефолт. Поставьте опцию как #:exists 'truncate или #:exists 'update переписать или обновить файл:

и т. Д.

...