Я хочу удалить элементы вложенного списка (абзаца), где встречается ноль, вот код:
(defun read-as-list (filename)
(let ((paragraph '(null))
(documentlist '(null))
(templist '()))
(let ((in (open filename :if-does-not-exist nil)))
(when in
(loop for text = (read-line in nil)
while text do
(setf temp (mapcar 'string (coerce text 'list)))
(if (eq temp nil)
(progn
(push paragraph (cdr (last documentlist)))
(paragraph (car templist)))
(push temp (cdr (last paragraph))))))
(close in))
(print (cdr documentlist))
;; return the cdr element of the nested list
(return-from read-as-list (cdr paragraph))))
здесь я должен назначить список абзацев в список документов каждый раз, когда выполняется условие if. например (если (например, nil) удовлетворяет, я должен назначить абзац списка в документ списка в качестве элемента документа списка и сбросить список абзацев, чтобы я мог сделать то же самое в следующей итерации, может кто-нибудь, пожалуйста, помогите мне