Nex*_*ist 3 lisp scheme require racket
目前,我必须在每个文件的顶部执行此操作:
(require "dynamore/dynamore.rkt")
(require "dynamore/db.rkt")
(require "dynamore/types.rkt")
Run Code Online (Sandbox Code Playgroud)
我希望能够做这样的事情:
(require dynamore)
Run Code Online (Sandbox Code Playgroud)
最好不必开发自己的收藏。
如果您不想创建一个包(这意味着您需要require相对):
dynamore只包含这三个文件,你可以使用reprovide-lang的glob-in如下:(require (glob-in "dynamore/*.rkt"))。您还可以创建main.rkt在dynamore使用的主要功能的reprovide-lang具体reprovide只有这三个文件:
#lang reprovide
"dynamore.rkt"
"db.rkt"
"types.rkt"
Run Code Online (Sandbox Code Playgroud)
要使用它,只需(require "dynamore/main.rkt")。
不使用的本机解决方案reprovide-lang将是all-from-out手动使用:
#lang racket/base
(require "dynamore.rkt"
"db.rkt"
"types.rkt")
(provide (all-from-out "dynamore.rkt"
"db.rkt"
"types.rkt"))
Run Code Online (Sandbox Code Playgroud)如果您想创建一个程序包,请按照上面的解决方案2(create main.rkt等)info.rkt在dynamore目录中创建,如下所示:
#lang info
(define collection "dynamore")
Run Code Online (Sandbox Code Playgroud)
然后运行raco pkg install。从现在开始,您将可以(require dynamore)在任何地方。
注意:安装reprovide-lang,运行raco pkg install reprovide-lang。