- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在学习 SICP,我想应用我迄今为止学到的一些概念。也就是说,积累、映射和过滤将帮助我提高工作效率。我主要使用 CSV 文件,并且我知道 MIT/GNU 方案不支持这种文件格式。但这没关系,因为我可以将 CSV 文件导出到 txt 文件,因为支持 txt 文件。
现在我阅读了手册的第 14 节输入/输出,坦率地说,缺乏具体的示例并不能帮助我入门。因此,我希望你们中的一些人能给我一个良好的开端。我有一个文本文件 foo.txt,其中包含国家列表的变量和观察结果。我只想将这个文件读入Scheme并操作数据。感谢您的帮助。任何示例代码都会有帮助。
最佳答案
Scheme 提供了几种读取文件的方法。您可以使用“打开/关闭”样式,如下所示:
(let ((port (open-input-file "file.txt")))
(display (read port))
(close-input-port port))
您还可以使用 igneus 的答案,它将端口传递给过程,并在过程结束时自动为您关闭端口:
(call-with-input-file "file.txt"
(lambda (port)
(display (read port))))
最后,我最喜欢的,更改当前输入端口以从文件中读取,运行提供的过程,关闭文件并在最后重置当前输入端口:
(with-input-from-file "file.txt"
(lambda ()
(display (read))))
您还需要阅读有关 Input Procedures 的部分。上面使用的“read”函数仅从端口读取下一个Scheme对象。还有read-char、read-line等。如果你从文件中读取了所有内容,你会得到eof-object的东西吗?将返回 true on - 如果您循环遍历文件以读取所有内容,则很有用。
例如将文件中的所有行读取到列表中
(with-input-from-file "text.txt"
(lambda ()
(let loop ((lines '())
(next-line (read-line)))
(if (eof-object? next-line) ; when we hit the end of file
(reverse lines) ; return the lines
(loop (cons next-line lines) ; else loop, keeping this line
(read-line)))))) ; and move to next one
关于file-io - 如何读取 MIT/GNU 方案中的文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55694462/
我正在和我的 child 一起阅读一本“用 Scratch 学习编程”的书。其中一项练习是要求创建一个使用一些简单公式的“功能块”。他们没有在书中解释什么是“功能块”,否则我可能会错过。我也找不到任何
我正在尝试在 Linux 中安装 mit-scheme-9.2。我已成功下载 mit-scheme-9.2-x86-64.tar.gz http://ftp.gnu.org/gnu/mit-schem
我有这个代码: 但是每当 shoot 消息被发送到 bullet Sprite ,并且舞台上有一个克隆人还没有击中它的目标时,克隆人就会与 go to x: (xOfTower) y: (yOfTow
我正在从头开始创建一个迷你家庭游戏,我使用随机选择块在 1 到 27 之间进行选择。我有 27 个背景,上面写着 1 到 27 个数字。但是我注意到在大约 21-22 个数字之后,随机选择器无法选择任
我注意到永远(或重复())循环在迭代之间需要时间(没有“等待()秒”块)。这究竟是多久? 最佳答案 使用此代码进行测试: 每次迭代平均为 0.000000994 秒,因此在处理时间之外似乎没有故意延迟
我想从 makefile 评估一个脚本并退出,就像这样 mit-scheme --load "fact.scm" 但是,它对文件求值后,并没有退出,而是出现repl;如果我尝试 (exit)原语,它要
我的目标是构建 5x5 的图像网格。在以下代码中,row、col 和 rowcol 被创建为 Sprite 的本地变量,以及 newcol, newrow 和 cats 是全局的。 (顺便问一下,是否
我正在 Scratch 上制作一个桨球游戏(只是为了好玩),但我的计分遇到了问题。如果你想看我已经写的代码,游戏链接是https://scratch.mit.edu/projects/66541388
我正在使用 MIT app inventor 开发移动应用程序。我无法扩展列表的范围(超过 300 项)。 无法为其提供扩展应用程序的选项。 如果我将它更改为接近 298 个项目,它不会给我扩展它的机
我正在尝试使用 MIT 应用程序发明者开发一个应用程序,该应用程序在按下按钮时根据某些条件返回一个特定的整数。 基本上,我想创建一个程序,将用户分配到特定房间并将该特定组合分配给一个整数。 首先,应用
如何在 MIT 方案中引发和处理异常? 像[它不起作用] ((< val 0) (raise "-ve value") ) 最佳答案 最好找的地方是MIT/GNU Scheme documentati
谁能告诉我 mit-scheme 中的空值表示是什么?在 SICP 书中,它应该是“nil”,但它不起作用。 谢谢。 最佳答案 '()应该管用。基本上,scheme 中的 nil 是空列表,所以引用一
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 6年前关闭。 Improve thi
我正在尝试使用 MIT-scheme 运行方案程序(在 GNU/Linux 下运行的 MIT/GNU 方案,版本 7.7.90.+ || 微码 15.1 || 运行时 15.7),我想访问命令-行参数
您是否知道任何符合 MIT/GNU 许可的好插件/脚本(可以是 jquery 或 html5 的 Canvas )可以让我构建和修改具有透明度的面积图? 内容如下: 虽然我不需要曲线,但它可以按 90
我正在使用 MIT 方案,并希望能够做这样的事情: (定义 π 3.14159265) 没有像这样的编码错误: ;Illegal character: #\U+80 ;To continue, cal
使用 Scheme 的入门编程类(class)通常使用一个版本,其中包括原始函数,如 first 和 bf(描述 here)。 感谢 this question,我在本地运行了 MIT Scheme
我目前正在尝试麻省理工学院开放式课件的“C 实用程序设计”中的练习。练习是关于霍夫曼编码的。这是 lab2 第 2 部分,我遇到了问题。主要是 pq_insert() 方法。我对如何执行节点插入感到很
我刚开始玩 Scratch... 我似乎有一只猫的 Sprite 和两件“服装”,我猜它们就像相框。 我做了这个序列: ...但是当我点击绿旗时,猫会向右移动,但服装不会切换。 如果我做一个更简单的序
如何平滑 Scratch 中的动画?主要是,我希望当您按住右箭头时,它会向右移动而没有任何明显的抖动。另外,当您握住箭头时,scratch 会让您等待一秒钟才能重复。我怎样才能把这些东西弄平? 最佳答
我是一名优秀的程序员,十分优秀!