5
跨属性列表映射功能?
问:跨属性列表映射函数的惯用方式是什么? 各种映射函数(mapcar和族)在诸如列表的序列上映射函数。在处理属性列表时,即试图在列表中包含的每个属性之间进行映射(从第一个元素开始的所有其他元素)时,如何使用这些功能?在我看来,映射功能将需要成对访问元素而不是单个元素的列表。 作为一个玩具示例,如何获取属性列表并收集所有属性值?如果它是一个关联列表,它将非常简单: (mapcar #'cadr '((:prop1 a) (:prop2 b) (:prop3 c))) ;=> (a b c) 我敢肯定这可以通过循环来完成,但是这似乎有点费力,我想知道是否还有一种更惯用的方式来做到这一点。