【发布时间】:2015-12-16 01:38:39
【问题描述】:
我在几个项目中都遇到过这个问题,但是这个测试用例删除了理解问题所不需要的一切。我一直在用它来找出问题所在:
所以我有一个目录,里面有 2 个文件,foo.scm 和 bar.scm:
;;;foo.scm
(module foo (baz)
(import chicken scheme)
(define (baz)
(display "bazzer!\n")))
;;;bar.scm
(module baz (quux)
(import chicken scheme)
(use foo)
(define (quux)
(baz)
(display "quuxed!\n")))
baz.scm 无法在 csi 中运行并出现此错误:
Error: (import) during expansion of (import ...) - cannot import from undefined module: foo
我检查了文档:use 应该将代码加载到内存中,然后 import 它。我什至运行过require,函数use 用于单独加载代码。它运行顺利,只是import 失败了。我还尝试在csi 中导入代码。 use 不起作用,但 require 后跟 import 可以,即使它应该等效于 use。
简而言之,我感到非常困惑。任何人都可以解释发生了什么,以及如何解决它?
【问题讨论】:
标签: scheme chicken-scheme