如何从Scheme中的配对列表中返回配对?

如何从Scheme中的配对列表中返回配对?,scheme,Scheme,我有一个列表,其中存储了对 '((a (b 1)) (b (c 2)) (c (d 3)) (d (e f))) (define (compare-unit unit-to-check source) (cond ((null? source) '()) ((equal? (car source) unit-to-check) (car source)))) 在我的程序中,我想检查搜索查询是否等价于列表中的一对汽车,并返回给定的一对汽车 例如,如果搜索

我有一个列表,其中存储了对

'((a (b 1))
  (b (c 2))
  (c (d 3))
  (d (e f)))

 (define    (compare-unit unit-to-check source)
  (cond ((null? source) '())
        ((equal? (car source) unit-to-check) (car source))))
在我的程序中,我想检查搜索查询是否等价于列表中的一对汽车,并返回给定的一对汽车


例如,如果搜索查询具有
(a x)
,并且
(a(b 1))
具有与
(a x)
相同的汽车,我想返回
(a(b 1))

,有一个内置过程,可以满足您的需要-它被称为:

例如:

(define source
  '((a (b 1))
    (b (c 2))
    (c (d 3))
    (d (e f))))

(compare-unit '(a x) source)
=> '(a (b 1))

有一个内置的过程,可以满足您的需要-它被称为:

例如:

(define source
  '((a (b 1))
    (b (c 2))
    (c (d 3))
    (d (e f))))

(compare-unit '(a x) source)
=> '(a (b 1))
当然,
(a(b1))
是返回值,而不是Scheme的一些后代可能在其REPL中显示的
(a(b1))
,当然,
(a(b1))
是返回值,而不是Scheme的一些后代可能在其REPL中显示的
(a(b1))