【问题标题】:How to `require` a file without printing out its top level expressions?如何在不打印顶级表达式的情况下“要求”文件?
【发布时间】:2013-11-06 12:46:47
【问题描述】:

文件a.rkt

#lang racket
(provide f)
(define (f) 10)
(f)

文件b.rkt

#lang racket
(require "a.rkt")

然后当我运行b.rkt 时,我会得到f,这就是我想要的。但是10 也会打印在我不想要的 REPL 中。

如果我的 REPL 上没有 10,我如何 require 归档 a.rkt

谢谢

【问题讨论】:

    标签: scheme lisp racket


    【解决方案1】:

    将您对f 的调用附在a.rktmodule 子句中:

    #lang racket
    (provide f)
    (define (f) 10)
    (module+ main
      (f))
    

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

    欲了解更多信息,请参阅here

    【讨论】:

      猜你喜欢
      • 2010-11-04
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2014-08-28
      • 2022-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多