Scheme Racket-需要完整的文件目录
目前,我必须在每个文件的顶部执行此操作:Scheme Racket-需要完整的文件目录,scheme,lisp,racket,require,Scheme,Lisp,Racket,Require,目前,我必须在每个文件的顶部执行此操作: (require "dynamore/dynamore.rkt") (require "dynamore/db.rkt") (require "dynamore/types.rkt") 我希望能够做到以下几点: (require dynamore) 最好不用开发我自己的收藏 如果您不希望创建包(这意味着您需要相对地要求): 如果dynamore仅包含这三个文件,则可以使用重新提供lang,如下所示:(require(glob in“dynamore/
(require "dynamore/dynamore.rkt")
(require "dynamore/db.rkt")
(require "dynamore/types.rkt")
我希望能够做到以下几点:
(require dynamore)
最好不用开发我自己的收藏 如果您不希望创建包(这意味着您需要相对地
要求
):
dynamore
仅包含这三个文件,则可以使用重新提供lang
,如下所示:(require(glob in“dynamore/*.rkt”)
dynamore
中创建main.rkt
,它使用reprovide lang
专门重新提供这三个文件:
#lang reprovide
"dynamore.rkt"
"db.rkt"
"types.rkt"
要使用它,只需(需要“dynamore/main.rkt”)
- 不使用
的本机解决方案将手动使用:重新提供lang
#lang racket/base (require "dynamore.rkt" "db.rkt" "types.rkt") (provide (all-from-out "dynamore.rkt" "db.rkt" "types.rkt"))
main.rkt
等),在dynamore
目录中创建info.rkt
,如下所示:
#lang info
(define collection "dynamore")
然后运行raco pkg安装
。从现在起,您将能够从任何地方(需要dynamore)
注意:要安装
reprovide lang
,运行raco pkg安装reprovide lang
作为备用,您不需要3个不同的all from out
,您可以将所有3个文件放在一个all from out
中,就像一样(提供(all from out“dynamore.rkt”“db.rkt”“types.rkt”)
编辑!另外,@AlexKnauth是reprovidelang
的作者。谢谢你的精美包装!非常感谢您提供信息丰富的答案!