从方案列表中获取元素
Get element out of list in scheme
我有这样的客户信息列表;
(迈克美国嫁给约翰英国单身凯特德国嫁给汤姆美国单身...)
我想定义名为 find 的方案函数来检索给定名称的客户信息。
例如:- 找到 Kate -> (德国结婚)
提前致谢!!
假设列表始终具有正确的结构,迭代它很简单,一次推进三个项目:
(define (find data name)
(cond ((null? data) #f)
((equal? (car data) name)
(list (cadr data) (caddr data)))
(else (find (cdddr data) name))))
例如:
(define data
'(Mike USA married John UK single Kate Germany married Tom USA single))
(find data 'Kate)
=> '(Germany married)
(find data 'Bob)
=> #f
我有这样的客户信息列表;
(迈克美国嫁给约翰英国单身凯特德国嫁给汤姆美国单身...)
我想定义名为 find 的方案函数来检索给定名称的客户信息。
例如:- 找到 Kate -> (德国结婚)
提前致谢!!
假设列表始终具有正确的结构,迭代它很简单,一次推进三个项目:
(define (find data name)
(cond ((null? data) #f)
((equal? (car data) name)
(list (cadr data) (caddr data)))
(else (find (cdddr data) name))))
例如:
(define data
'(Mike USA married John UK single Kate Germany married Tom USA single))
(find data 'Kate)
=> '(Germany married)
(find data 'Bob)
=> #f