gpt4 book ai didi

module - 为什么 Racket 找不到我的模块导出?

转载 作者:行者123 更新时间:2023-12-01 02:16:52 25 4
gpt4 key购买 nike

我有一个非常简单的模块,只有一个导出,在文件“m.rkt”中

#lang racket
(module m racket
(provide dec)
(define (dec n)
(- n 1)))

和文件“n.rkt”中使用它的其他模块
#lang racket
(module n racket
(require "m.rkt")
(define (id x)
(+ 1 (dec x))))

在 REPL,我尝试加载第二个模块
Welcome to Racket v6.0.1.
> (current-load-relative-directory "h:\\tmp")
> (require "n.rkt")
h:\tmp\n.rkt:8:10: dec: unbound identifier in module
in: dec

似乎可以很好地找到两个模块表达式,但无法解析 dec 的导出来自“m.rkt”。知道我做错了什么吗?

更新:注释掉 #lang racket两个文件中的语言选择语法使事情正常工作。根据 Racket 指南第 6.2 节, #lang racket是模块声明的简写,所以我的 (module ...)表单正在声明子模块。活到老,学到老...

最佳答案

(从更新复制到问题)

注释掉两个文件中的#lang Racket 语言选择语法会使事情正常工作。根据 Racket Guide 的第 6.2 节,#lang Racket 是模块声明的简写,所以我的 (module ...) 表单是声明子模块。活到老,学到老...

关于module - 为什么 Racket 找不到我的模块导出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24173506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com