这个项目已经工作了几个小时,我无法弄清楚。
我有一个数字列表,如果其中任何一个数字与一个单独的数字匹配而无需使用递归,则我需要它来生成真。
(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需要两个列表才能工作。
有人可以帮我解决这个问题吗? 谢谢。
答案 0 :(得分:0)
ormap
不需要两个列表。它只需要一个将列表元素与给定数字进行比较的过程,就可以使用lambda
进行创建。
(define (compare-numbers lst num)
(ormap (lambda (n) (equal? n num))
lst))