如何在不打印顶级表达式的情况下"需要"文件?

Ben*_*Ben 3 lisp scheme racket

档案a.rkt:

#lang racket
(provide f)
(define (f) 10)
(f)
Run Code Online (Sandbox Code Playgroud)

档案b.rkt:

#lang racket
(require "a.rkt")
Run Code Online (Sandbox Code Playgroud)

然后当我跑步时b.rkt,我会得到f我想要的东西.但10也会在我的REPL中打印出我不想要的内容.

我怎样才能require文件a.rkt,而不10印在我的REPL?

谢谢

use*_*lpa 5

将您的电话包含f在以下module条款中a.rkt:

#lang racket
(provide f)
(define (f) 10)
(module+ main
  (f))
Run Code Online (Sandbox Code Playgroud)

部件中的表单module+ main只会在您a.rkt直接运行时执行,而不是在您运行时执行require.

有关详情,请参阅此处.