Lisp 中的成员和结构

Member and structs in Lisp

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

(defstruct book
  name
  author
  )

如何检查某个作者的书是否在列表中(独立于名称)?我知道这是一个非常初学者的问题,我确实尝试自己找到答案但没有成功。

你要找的是:key argument:

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

member相同:

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

请注意 :key 未在 item 上调用。