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

发布于 2024-07-09 06:50:21 字数 112 浏览 6 评论 0原文

我正在尝试将 .txt 文件中的数据输入到方案结构中。 数据文件中的每个元素均由制表符分隔,每个结构集都位于新行上。 我希望能够将一行数据读入一个结构中,并列出文件中设置的每个结构的列表。 有什么建议么?

I am trying to input data from a .txt file into a scheme structure. Each element is separated by a tab in the data file and each structure set is on a new line. I want to be able to read in the data from one line into a structure and make a list of each structure set in the file. Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

能否归途做我良人 2024-07-16 06:50:21

不太确定您想要什么结构,但假设您有一个如下所示的文本文件:

--> 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”变量访问该结构。

Not really sure what structures you had in mind, but say you had a text file like the following:

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

You could convert it directly into a list of lists in scheme using sed:

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

which then produces the following file:

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

And now all you have to do is load the file into scheme:

(load "foo.txt")

And you can access the structure via the `mylist' variable.

泛泛之交 2024-07-16 06:50:21

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

这里是文档

以下是如何远程加载它:

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

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

(require (planet "csv.ss" ("neil" "csv.plt" 1 (= 1))))

Sounds like a CSV file with tabs instead of commas. If you're using PLT Scheme (DrScheme/mzscheme)
neil's csv library is probably what you want.

Here is the documentation.

Here is how to load it remotely:

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

At least, that's what the instructions say. On my slightly oodate DrScheme, this is what worked:

(require (planet "csv.ss" ("neil" "csv.plt" 1 (= 1))))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文