scheme - contains?:undefined不能引用未定义的标识符

时间:2018-04-07 14:48:02

标签: count scheme undefined

我编写了一个接受字符列表的函数,并检查元音实例在列表中的次数。

尝试此功能时出现以下错误:

  

包含?:undefined;
  ;不能引用未定义的标识符
  ; [,bt for context]

功能:

(define (count list)
  (if (and(null? (cdr list))
          (contains?(vowels)(car list)))
       (+ counter 1)
       (if(and (contains?(vowels)(car list))
               (not(contains?(vowels)(cadr list))))
          (+ counter 1)
          (count(cdr list)))))

1 个答案:

答案 0 :(得分:0)

contains?不属于R5RR6RSR7RS,因此不属于任何当前的Scheme标准。 在目前的标准中,我们有一些适用的地方:member, memv, and memq

(member '(b) '((a) (b) (c))) ; ==> ((b) (c))
(member '(q) '((a) (b) (c))) ; ==> #f

member使用equal?检查同一个对象。其他人使用eqv?(数字)和eq?(身份)。