我对一个简单的方案应用程序的问题感到震惊。 在一个文件(dataloader.ss)中,我定义了一个结构:
(define-struct book-category (id name books))
但是我不能在另一个文件中使用该结构。 我在dataloader.ss中尝试使用
导出结构(provide book-category)
在另一个文件中,我导入:
(require "dataloader.ss").
但是对一个struct函数的调用无法实现失败: 例如
(make-book-category 2 "test" '())
给了我:
在其之前引用标识符 定义:make-book-category
另一方面,如果我在第二个文件中重新定义结构,它会告诉我: “模块:标识符已导入:书籍类别” 所以,我想进口至少部分有效。但我仍然无法访问相关的功能。还有别的事吗?
提前致谢!
答案 0 :(得分:1)
好的找到它,我必须使用struct-out关键字导出,如
(provide (struct-out book-category))