Как бы вы прочитали входной файл в схеме? - PullRequest
6 голосов
/ 30 ноября 2008

Я пытаюсь ввести данные из файла .txt в структуру схемы. Каждый элемент разделен вкладкой в ​​файле данных, и каждый набор структуры находится в новой строке. Я хочу иметь возможность считывать данные из одной строки в структуру и составлять список каждой структуры, установленной в файле. Есть предложения?

Ответы [ 2 ]

6 голосов
/ 05 апреля 2009

Не совсем уверен, какие структуры вы имели в виду, но, скажем, у вас был текстовый файл, подобный следующему:

--> cat blah.txt 
foo bar baz
1 2 3 4 5
aa bb cc dd ee

Вы можете преобразовать его непосредственно в список списков в схеме, используя sed:

--> echo "(define mylist '("`sed -e 's/\(.*\)/(\1)/' blah.txt`"))" > foo.txt

, который затем создает следующий файл:

--> cat foo.txt 
(define mylist '((foo bar baz) (1 2 3 4 5) (aa bb cc dd ee)))

И теперь все, что вам нужно сделать, это загрузить файл в схему:

(load "foo.txt")

И вы можете получить доступ к структуре через переменную `mylist '.

3 голосов
/ 01 декабря 2008

Походит на CSV-файл с вкладками вместо запятых. Если вы используете схему PLT (DrScheme / mzscheme) CSV-библиотека Нила, вероятно, то, что вы хотите.

Вот документация .

Вот как загрузить его удаленно:

(require (planet neil/csv:1:2/csv))

По крайней мере, так сказано в инструкции. На моем слегка oodate DrScheme вот что сработало:

(require (planet "csv.ss" ("neil" "csv.plt" 1 (= 1))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...