我试图在方案中使用check-expect函数,但我一直被告知它是一个未绑定的check-expect标识符.不检查 - 期待我已经可以使用的功能吗?以下是我的代码:
#lang racket
(define contains (lambda (item list*)
(if (equal? list* '())
#f
(if (equal? item (car list*))
#t
(contains item (cdr list*))))))
(define z (list 1 2 3))
(define q (list 4 5 6))
(define p (list "apple" "orange" "carrot"))
(check-expect (contains 1 z) #t)
Run Code Online (Sandbox Code Playgroud)
check-expect 从技术上讲,它不是自动构建到方案或Racket中的.
请注意您正在使用#lang racket.这是专业的Racket语言,该语言希望您知道并明确说明要导入的库.它不会为您自动导入它们.
(现在,您可能需要一个单元测试库 ;还有一个随Racket标准库一起提供的.)
但是如果你刚刚开始学习编程,那么使用Racket中的一种教学语言会更有意义.
对于你上面使用的代码,我怀疑你可能会想要这个代码.启动DrRacket并从"语言"菜单中的"如何设计程序"子菜单中选择"初学者学生语言".
有关详细信息,请参阅http://www.ccs.neu.edu/home/matthias/HtDP2e/prologue.html.