【发布时间】:2016-05-24 20:36:56
【问题描述】:
我正在尝试在名为 allAssociation 的方案中创建一个函数。它接受 2 个参数,一个符号列表和一个关联列表。调用这个函数应该返回一个数据列表,其中的元素对应于 assoc-list 的键。
这是一个例子:
输入:
(allAssociation '(a c d) '((a allen)(b bob)(c (carl cooper))(d doug)))
输出:
(allen (carl cooper) doug).
我正在尝试使用 map 和 lambda 来实现这个功能,但我有点难过。
目前我有这个sn-p的代码:
(define AllAssociation
(lambda (key alist)
(if (null? alist)
'()
[insert rest of logic]
)))
但我正在努力实现使用 map 将键的每个元素与关联列表匹配的逻辑。任何帮助将不胜感激,因为我对计划很陌生。谢谢。
【问题讨论】:
-
对于第一个列表中的每个元素 e,您想要获取与第二个列表中的 e 关联的值。您可以使用在第二个列表中搜索
assoc的函数在第一个列表中调用map。
标签: dictionary recursion lambda scheme map-function