你会如何阅读Scheme中的输入文件?

6 scheme

我试图将.txt文件中的数据输入到方案结构中.每个元素由数据文件中的选项卡分隔,每个结构集都在一个新行上.我希望能够将数据从一行读入一个结构,并列出文件中的每个结构集.有什么建议?

kra*_*aya 6

不确定你的想法是什么结构,但是你说你有一个如下文本文件:

--> 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)))

现在你所要做的就是将文件加载到scheme中:

(load "foo.txt")

您可以通过`mylist'变量访问该结构.


Nat*_*ers 3

听起来像是带有制表符而不是逗号的 CSV 文件。如果您使用 PLT 方案 (DrScheme/mzscheme),neil 的 csv 库可能就是您想要的。

这是文档

以下是远程加载的方法:

(require (planet neil/csv:1:2/csv))
Run Code Online (Sandbox Code Playgroud)

至少,说明书是这么说的。在我的有点过时的 DrScheme 上,这是有效的:

(require (planet "csv.ss" ("neil" "csv.plt" 1 (= 1))))
Run Code Online (Sandbox Code Playgroud)