You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Racket会话中重新加载修改后的模块?

在Racket REPL中重新加载修改后的模块

Racket默认会缓存已加载的模块,所以单纯重复执行(require "test.rkt")不会读取修改后的文件,enter!也只是进入模块命名空间,不会刷新模块内容。要让(test)打印bar,可以用以下几种方法:

  • 强制重新加载指定模块:
    使用require的#:reload参数,让Racket重新读取并编译修改后的文件:

    (require "test.rkt" #:reload)
    
  • 强制重新加载模块及其所有依赖:
    如果你的模块依赖其他也修改过的子模块,用#:reload-all参数彻底刷新整个依赖链:

    (require "test.rkt" #:reload-all)
    
  • 清除编译缓存后重新加载:
    如果遇到编译缓存残留的问题,先清除缓存再重新加载:

    (clear-compiled)
    (require "test.rkt" #:reload)
    

执行以上任意一种操作后,再运行(test)就会打印bar了。

内容的提问来源于stack exchange,提问作者user1785730

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 18:42:04