Common lisp에서 이것을 달성하는 방법은 무엇입니까?논리 목록에서 선택하십시오. Common Lisp
(logselect (t nil t) (list1 list2 list3)) ---> (list1 list2)
아래의 기능을 코딩했지만 더 나은 방법이 있다고 생각합니다 (내장 기능일까요?).
(defun logselect (loglist lista)
(let ((listaL) (maskL) (toremove))
(setq listaL (mapcar #'list lista))
(setq maskL (mapcar #'cons loglist listaL))
(setq toremove (mapcar #'(lambda (x) (car (and (car x) (cdr x)))) maskL))
(remove nil toremove)
)
)
감사합니다.
내 말은 (logselect (t nil t) (list1 list2 list3)) ---> (list1 list3) – Francisco