我已经被这个困扰了好几天了。这是我正在尝试做的事情:
假设我有一些符号列表。例如。'(A B C D)。我想将这些符号映射到值。假设我的价值观是'(1 2 3 4)。
好的,现在这是目标。我想编写一个过程,该过程将返回一个我以后可以再次调用的过程。这就是我的意思:
(定义获取映射值(映射在一起的符号值))
(获取映射值'A)
应该返回'1。
到目前为止,我已经编写了一个程序来获取两个列表并将它们“压缩”在一起,基本上是映射值。所以给定 '(ABCD) 和 '(1 2 3 4) 它将返回 ((A 1)(B 2)(C 3) 等等。
而且我还写了一个程序,给定一个符号将返回它的映射值。但我很难把这一切联系起来并做出这个定义。我最近的尝试是:
(define map-together
(case-lambda
[(symbols vals) (lambda (cons lst (zip-together keys vals))]
[(symbol) (find-mapped-value symbol)]
)
)
)
但这只是返回压缩列表。