例如,我想要一个函数,它可以为我提供分配给我的值的所有值:
-> (给我'x'((x y) (x z) (b d) (x q)))
-> (y z q)
所以在这种情况下函数应该返回 y z 和 q,因为它们与 x 成对关联。我问这个的原因是因为我知道一行中有一个 map 函数。
最佳答案
在普通 Lisp 中:
CL-USER > (defun give-me (item list)
(mapcan (lambda (e)
(and (eq item (first e)) (list (second e))))
list))
GIVE-ME
CL-USER > (give-me 'x '((x y) (x z) (b d) (x q)))
(Y Z Q)
关于lisp - 返回与符号关联的所有值的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4881382/