Definieren von Setf-Expandern in Common Lisp

Hier ist die Sache: Ich bekomme keine Setf-Expander und möchte lernen, wie sie funktionieren.

Ich muss lernen, wie sie funktionieren, da ich ein Problem habe, das wie ein typisches Beispiel dafür aussieht, warum Sie Setf-Expander lernen sollten. Das Problem ist wie folgt:

(defparameter some-array (make-array 10))

(defun arr-index (index-string)
  (aref some-array (parse-integer index-string))

(setf (arr-index "2") 7) ;; Error: undefined function (setf arr-index)

Wie schreibe ich einen richtigen Setf-Expander für ARR-INDEX?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage