我得到了一個列表的列表,我想刪除某種列表。因此,我會使用remove-if-not-lambda表達式。但是我可能不需要通過列表中的所有元素來確定它是否應該被刪除,因爲需要返回來自結論。但我怎麼能申請一個匿名lambda函數?是否有可能在lambda函數中使用return-from
(defvar *listlist* (list (list 1 2 3) (list 3 4 5) (list 5 6 7) (list 7 8 9)))
(remove-if-not #'(lambda (arg)
(dolist (x arg)
(when (= x 3)
(return-from lambda t)))
nil)
*listlist*)
另一件事困擾我的是可以使用mapcar代替dolist的,但後來我的問題變得更糟,因爲我現在還得回去,從兩個半波功能。
如果你在外部lambda上使用alambda,在內部使用lambda,你可以從self返回; checkout mapc – 2012-02-17 00:17:30