首页 文章

DrRacket,R5RS和错误程序

提问于
浏览
3

我喜欢DrRacket IDE,但目前我正在构建一个宠物项目,我想独立于它,这意味着我只想使用R5RS标准程序 .

问题是,在DrRacket中有一个叫做“错误”的程序我想继续使用,但我在标准中找不到它 .

我想知道的是,是否有一种方法可以仅使用Standards程序来模拟“错误”过程,以便代码可以在Scheme的不同实现之间移植 .

我试过“显示”但它似乎并不是我想要的,它不会在输出时发出错误信号 .

2 回答

  • 3

    好吧,根据这个:http://srfi.schemers.org/srfi-23/srfi-23.html,错误程序非常广泛,所以我认为你可以安全地使用它 .

  • 4

    这是我们的讲师给我们的实施:

    ;;; create binding for error
    (define error #f)
    
    ;;; capture toplevel continuation
    ;;;  assign a function to error, allowing a variable number of arguments to
    ;;;  be passed
    (call-with-current-continuation (lambda (k)
                  (set! error
                    (lambda error-arguments
                      (display ">>>> ERROR ")
                      (newline)
                      (k error-arguments)))
                  'done))
    

相关问题