2016-12-29 24 views
1

我用DrRacket 6.6,並使用#lang SiC顆粒,一切都看起來不錯,但功能不存在錯誤,它說:誤差函數並不必然

錯誤:未綁定的標識符模塊:錯誤

爲什麼?

回答

1

sicp軟件包的文檔不包含標識符error,因此它不是語言​​的一部分。 sicp軟件包的目的是爲R5RS命名空間添加一些書籍特殊綁定,但是沒有提到本書中稱爲error的過程或特殊格式。

根據DrRacket中的標準語言,#lang racket和當前標準Scheme下的#!r6rs,error是一個可用於指示錯誤(在R6RS中稱爲異常)的過程。

只添加errorracket/base

#lang sicp 
(#%require (only racket/base error)) 

(error "some error") ; error gets thrown 
+0

是的,我想有一些關於它的好辦法,可以把它從什麼地方是進口? –

+0

我使用(#%需要拍/基地),但它導入其他我不需要的, –

+0

如果您查看'#%require'的文檔,您會看到可以在其中使用單詞'only' 。給那一槍。 –