Racket - Check-expect:需要2个参数,但只能找到1个

时间:2015-11-19 21:17:54

标签: racket

我如何解决这个问题,我已经有一段时间了。 它一直给我这个错误: check-expect:预计有2个参数,但只找到1个

它不仅仅将列表视为一个参数,我认为这是错误,但我将如何解决这个问题呢?我尝试过(计数单元格(列表单元格))但是它然后给我一个错误,说明定义:预期变量,但找到了一个部分

解释

(define-struct Cell (x y)

(define (count-in cell cells)
(cond [(member? cell cells) 1]
  [else 0]))

检查预期,此处出现错误

(check-expect (count-in (make-Cell 100 123) 
(list 
(make-Cell 104 123) (make-Cell 45 67)) 
(cond [(member? (make-Cell 100 123)
(list 
(make-Cell 104 123) (make-Cell 45 67)))1] 
  [else 0])1)

1 个答案:

答案 0 :(得分:2)

这通过了你的考试

 
(define-struct Cell (x y))

(define (count-in cell cells)
  (cond
    [(member? cell cells) 1]
    [else 0]))

(check-expect
 (count-in (make-Cell 100 123)
           (list (make-Cell 104 123)
                 (make-Cell 45 67)))
 (cond
   [(member? (make-Cell 100 123) (list (make-Cell 104 123) (make-Cell 45 67))) 1] 
   [else 0]))

你应该学习如何缩进Scheme代码,并使用DrRacket的缩进功能和括号着色。