Lisp中的成员和结构

时间:2016-12-09 03:50:47

标签: struct lisp common-lisp member

我知道如何检查项目是否在列表中:(when (member item list :test #'equalp))。如果我有一个结构书列表:

(defstruct book
  name
  author
  )

如何检查某位作者的图书是否是该列表的成员(与名称无关)?我知道这是一个非常初学的问题,我确实试图自己找到答案,但没有成功。

1 个答案:

答案 0 :(得分:2)

您要找的是:key argument

(find author library :test #'string= :key #'book-author)

member相同:

(member (book-name my-book) library :test #'string= :key #'book-name)

请注意,:key上未调用item