如何将ormap应用于单个变量? -方案

时间:2018-11-19 16:53:41

标签: scheme racket

这个项目已经工作了几个小时,我无法弄清楚。

我有一个数字列表,如果其中任何一个数字与一个单独的数字匹配而无需使用递归,则我需要它来生成真。

(compare-numbers (list 1 2 3) 2) => true

我知道我必须做的是在局部函数上使用ormap,但我不知道如何制作该函数。

我写的是

(define (comp? num)
  (equal? num num-lst)) ;Where num-lst is the list of accepted numbers

但是我知道我不能使用它,因为ormap需要两个列表才能工作。

有人可以帮我解决这个问题吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

ormap不需要两个列表。它只需要一个将列表元素与给定数字进行比较的过程,就可以使用lambda进行创建。

(define (compare-numbers lst num)
  (ormap (lambda (n) (equal? n num)) 
         lst))