我正在试图弄清楚如何从带有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所在的目录中。
答案 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))'