使用plt方案导入struct

时间:2009-12-11 13:25:57

标签: scheme racket

我对一个简单的方案应用程序的问题感到震惊。 在一个文件(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

另一方面,如果我在第二个文件中重新定义结构,它会告诉我: “模块:标识符已导入:书籍类别” 所以,我想进口至少部分有效。但我仍然无法访问相关的功能。还有别的事吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

好的找到它,我必须使用struct-out关键字导出,如

(provide  (struct-out book-category))