目前,我必须在每个文件的顶部这样做:
(require "dynamore/dynamore.rkt")
(require "dynamore/db.rkt")
(require "dynamore/types.rkt")我希望能做这样的事情:
(require dynamore)最好不用开发我自己的藏品。
发布于 2019-08-10 08:21:37
如果您不喜欢创建包(这意味着您需要相对地创建require ):
dynamore只包含这三个文件,您可以使用reprovide-lang的glob-in,如下所示:(require (glob-in "dynamore/*.rkt"))。main.rkt中创建dynamore,它使用主要功能 of reprovide-lang专门重新提供这三个文件:
#lang重新提供"dynamore.rkt“"db.rkt”"types.rkt“
要使用它,只需使用(require "dynamore/main.rkt")。- A native solution that doesn't use `reprovide-lang` would be to use [`all-from-out`](https://docs.racket-lang.org/reference/require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._all-from-out%29%29) manually:#lang球拍/基地(要求"dynamore.rkt“"db.rkt”"types.rkt") (提供"dynamore.rkt“"db.rkt”“types.rkt”)
如果您希望创建一个包,那么按照上面的解决方案2(创建main.rkt等),在dynamore目录中创建info.rkt,如下所示:
#lang info
(define collection "dynamore")然后运行raco pkg install。从现在开始,您将能够从任何地方(require dynamore)。
注意:要安装reprovide-lang,运行raco pkg install reprovide-lang。
https://stackoverflow.com/questions/57439852
复制相似问题