从文件中读取一行

时间:2017-05-23 20:08:16

标签: guile

我正在试图弄清楚如何从带有guile方案的文件中读取一行。

当我要求它“读取端口”或“读取字符端口”时,它成功读取。

guile -c '(let ((port (open-input-file "foo.txt"))) (display (read port)) (newline) (close-port port))'

但是,当我要求它阅读时,它就失败了。

guile -c '(let ((port (open-input-file "foo.txt"))) (display (read-line port)) (newline) (close-port port))'

有谁知道我做错了什么?我目前在foo.txt所在的目录中。

1 个答案:

答案 0 :(得分:1)

您的代码失败并显示消息ERROR: Unbound variable: read-line,这意味着readline没有定义。

必须先使用read-line格式加载函数(use-modules (ice-9 rdelim)),然后才能使用它。 (https://www.gnu.org/software/guile/manual/html_node/Input-and-Output.html

这将有效:

guile -c '(use-modules (ice-9 rdelim)) (let ((port (open-input-file "foo.txt"))) 
(display (read-line port)) (newline) (close-port port))'