ファイルa.rkt
:
#lang racket
(provide f)
(define (f) 10)
(f)
ファイルb.rkt
:
#lang racket
(require "a.rkt")
次に、を実行すると、必要なものb.rkt
が得られます。f
しかし、10
私の REPL にも a が印刷されますが、これは望ましくありません。
REPLに印刷せずにrequire
ファイルするにはどうすればよいですか?a.rkt
10
ありがとう
f
への呼び出しをinmodule
句で囲みますa.rkt
。
#lang racket
(provide f)
(define (f) 10)
(module+ main
(f))
パーツ内のフォームは、直接実行したときではなく、直接module+ main
実行したときにのみ実行されます。a.rkt
require
詳細については、こちらを参照してください。