Создание списков из файлов в схеме - PullRequest
0 голосов
/ 25 октября 2010

Я понял, как читать файл, и он работает, используя следующий код:

(define p (read(open-input-file "starbucks4.sxml")))

Но как мне сохранить p как список с элементами, разделенными \n символами.

Спасибо.

Ответы [ 2 ]

1 голос
/ 25 октября 2010

Если вы используете Racket (или PLT Scheme), вы можете использовать функцию read-line, чтобы прочитать каждую строку файла, чтобы получить их - но они выиграли не читайте как s-exps, каждый будет просто строкой.

0 голосов
/ 25 октября 2010

IIRC, как MIT Scheme, так и Racket, поскольку некоторые другие реализации имеют функции call-with-input-file и call-with-output-file. См. this для подробной информации об их использовании и this для полной справки.

Что касается отдельного списка \n, лучший из известных мне подходов - использовать функцию Common Lisp format. Но если ваша реализация не имеет такой функции, вам нужно будет вручную разбить список и распечатать его, используя функцию write.

...