Racket 获取错误“;模块:文档中已需要标识符";导入代码时
在我的Racket程序中,当我试图从我编写的文件中获取代码时,会收到错误消息:“module:identifier ready required In doc”。但是,当我将代码复制并粘贴到所需的模块中时,它工作得很好。想法 我尝试过使用(提供(全部定义出来))以及在提供表单中列出所有函数名。顺便说一句,我用涂鸦文件而不是直拍文件来编码Racket 获取错误“;模块:文档中已需要标识符";导入代码时,racket,require,Racket,Require,在我的Racket程序中,当我试图从我编写的文件中获取代码时,会收到错误消息:“module:identifier ready required In doc”。但是,当我将代码复制并粘贴到所需的模块中时,它工作得很好。想法 我尝试过使用(提供(全部定义出来))以及在提供表单中列出所有函数名。顺便说一句,我用涂鸦文件而不是直拍文件来编码 @(require racket/date racket/file racket/string ra
@(require racket/date
racket/file
racket/string
racket/list
racket/function
racket/format
db
"directories.scrbl"
"model-files.scrbl"
)
请注意,所有导入都可以从directories.scrbl文件中正常工作,但当我需要model-files.scrbl时,就会出现问题
更新:这绝对是涂鸦的问题。我将所有代码从Scribble更改为Racket代码,问题消失了。\lang Scribble/manual
,以及\lang Scribble/doc
自动提供doc
。因此,当您无条件地需要两个涂鸦文档时,doc
会发生冲突
有两种方法可以解决这个问题
使用或控制应要求的内容
d。例如,您可以编写:
(require (except-in "directories.scrbl" doc)
(except-in "model-files.scrbl" doc))
这将需要从目录.scrbl
和模型文件.scrbl
中获取所有内容,除了从这两个目录中获取文档
但据我所知,直接要求一个涂鸦文件是非常罕见的(而且很不自然)。更好的方法是通过创建一个名为utils.rkt
的Racket文件来重构,并将要使用的东西放在utils.rkt
中的几个Scribble文件中,然后改为(需要“utils.rkt”)
非常感谢。这一点非常清楚,尽管我很惊讶,直接要求使用Scribble文件是不明智的。其思想是Scribble文件描述文档。一个文档可以通过导入另一个文档