Lisp を学習しようとして、n 回ごとに削除したい。最初(n番目)の要素しか削除できませんでした
(defun delete-nth (n list)
(if (zerop n)
(cdr list)
(let ((cons (nthcdr (1- n) list)))
(if cons
(setf (cdr cons) (cddr cons))
cons))))
次の n 番目などを削除したい
また、私はこれを試しました:
(defun remove-nth (list n)
(remove-if (constantly t) list :start n :end (+ 1 n)))
やり直す方法がわからない
私が考えていたのは連結でしたが、自分の位置を追跡する方法がわかりません。