假設我想從狀態列表中刪除一個步驟(元素)。多於一個參數用於刪除謂詞 - 如果
(defparameter *states* '((:top nil nil) (:subjects nil nil)))
;predicate
(defun equal-state? (step state)
(equal (car step) state))
如果我使用(delete-if #'equal-state? *states*)
那麼如何在第二個參數(state
)可以傳遞給謂詞?
編輯:我終於找到了一個類似的問題,但我傾向於保留它,因爲問題的清晰。
NB。在這個例子中,你正在使用DELETE,它有權改變數據,但你的數據是常量(引用列表),不應該在便攜式程序中修改。 – coredump