【问题标题】:Importing struct with plt scheme使用 plt 方案导入结构
【发布时间】:2009-12-11 13:25:57
【问题描述】:

我对一个简单的方案应用程序的问题感到震惊。 在一个文件(dataloader.ss)中,我定义了一个结构:

(define-struct book-category (id name books))

但我不能在另一个文件中使用该结构。 我尝试的是,在 dataloader.ss 中,用

导出结构
(provide book-category)

在另一个文件中,我导入:

(require "dataloader.ss").

但是对结构函数之一的调用不可挽回地失败: 例如

(make-book-category 2 "test" '())

给我:

在标识符之前引用标识符 定义:make-book-category

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

提前致谢!

【问题讨论】:

    标签: scheme racket


    【解决方案1】:

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

    (provide  (struct-out book-category))
    

    【讨论】:

      猜你喜欢
      • 2010-12-20
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-05
      • 2019-02-26
      • 1970-01-01
      相关资源
      最近更新 更多