gpt4 book ai didi

unit-testing - Racket exn :fail? 未绑定(bind)

转载 作者:行者123 更新时间:2023-12-04 02:52:50 24 4
gpt4 key购买 nike

我一直在使用以下语言定义文件,eopl-printing.rkt

#lang racket    (require (except-in eopl #%module-begin))    (provide (all-from-out eopl))    (provide #%module-begin)
正如 DrRacket EOPL Scheme output 中所建议的那样.一切进展顺利,除了当我尝试调用 exn 函数时:

#lang s-exp "eopl-printing.rkt"(require rackunit)(check-exn   exn:fail?   (lambda ()     (error 'hi "there")))

我没有像预期的那样成功通过测试,而是收到“exn:fail?: unbound identifier ...”消息。我已经阅读了关于模块的文档并尝试了各种方法来尝试重新公开 Racket exn 定义但没有任何运气。有什么建议吗?

最佳答案

eopl-printing.rkt 文件定义了一种语言,它只包含来自 eopl 库的绑定(bind)加上来自 #%module-begin racket 但没有别的。

但是您仍然可以轻松地在使用 eopl-printing.rkt 语言编写的任何文件中导入 racket 绑定(bind):

#lang s-exp "eopl-printing.rkt"
(require rackunit)
(require racket)
(check-exn
exn:fail?
(lambda ()
(error 'hi "there")))

或者,您可以让您的eopl-printing.rkt 语言提供您想要的额外racket 形式:

#lang racket
(require (except-in eopl #%module-begin))
(provide (all-from-out eopl))
(provide #%module-begin exn:fail? error)

或者只是重新提供racket中的所有内容:

#lang racket
(require (except-in eopl #%module-begin))
(provide (all-from-out eopl))
(provide (all-from-out racket))

关于unit-testing - Racket exn :fail? 未绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17283379/

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