Заменить элемент в списке в Common Lisp?

Как часто вы собираетесь list-comparison это делать; если вам действительно find-and-replace нужен массив, используйте search-and-replace array. В противном случае да, функция, которая lisp создает новый список, состоящий replace из копии первых N элементов, нового string-replacement элемента и хвоста, подойдет. Я list-comparison не знаю какой-нибудь встроенной lisp программы, которая пришла find-and-replace мне в голову, но я давно replacement не программировал на Лиспе.

Вот replacement решение на Scheme (потому text-replacement что я знаю его лучше, чем list-comparison Common Lisp, и у меня есть lists интерпретатор для проверки text-replacement моей работы):

(define (replace-nth list n elem)
  (cond
    ((null? list) ())
    ((eq? n 0) (cons elem (cdr list)))
    (#t (cons (car list) (replace-nth (cdr list) (- n 1) elem)))))

list

lisp

replace

common-lisp

2022-07-03T13:12:28+00:00