【发布时间】:2021-01-05 05:59:15
【问题描述】:
我正在使用csv-reading 从 csv 文件中读取以将其转换为列表。
当我在顶层调用时,像这样
> (call-with-input-file "to-be-asked.csv" csv->list)
我能够读取 csv 文件并将其转换为列表列表。
但是,如果我在函数中调用相同的东西,我会得到错误。
> (read-from-file "to-be-asked.csv")
csv->list: undefined;
cannot reference an identifier before its definition
in module: top-level
我不明白出了什么问题。我在函数调用之前添加了(require csv-reading)。
我的read-from-file 代码是:
(define (read-from-file file-name)
(call-with-input-file file-name csv->list))
编辑
我在emacs 中使用racket,使用Geiser。当我(exit) 缓冲区并输入C-c C-z 时,它显示错误。
当我终止缓冲区并再次启动Geiser 时,它工作正常。
是Geiser和emacs的错吗?
【问题讨论】:
-
你在哪里写的?
(require csv-reading)它应该在文件的顶部 -
是的,它在顶部。事实上,这是我在 REPL 中的第一个声明。我想,这是
Emacs中的Geiser实现的问题。请参考我的编辑。