如何读取加载到 guile 变量中的文件?

How can I read file loaded in a variable in guile?

我不熟悉 guile 和 scheme,我现在想做的是获取一个 scheme 文件 (file.scm) 并将其加载到变量,以便我能够解析它,但我在任何地方都找不到如何执行此操作。

我现在拥有的是

(define var (load "file.scm")) ; loads file scheme

但我不确定如何开始阅读这些台词。

load 解析并运行文件中的方案代码。如果您只想读取文件,请使用 open-input-file.

(define file (open-input-file "file address here"))
(display (read-line file))

如果您只想以字符串形式读取整个文件,textual-ports 模块中提供了一个函数。你会像这样使用它:

(define contents (call-with-input-file "file.txt" get-string-all))

(可以使用call-with-input-filewith-input-from-file来避免手动打开和关闭文件端口,这很方便)