Zitieren in Common Lisp

Ich habe vor kurzem angefangen, lisp zu lernen. Ich habe die Beispiele im Buch durchgesehenLand der Lisp und ich hatte das Gefühl, alles ziemlich gut zu verstehen, bis ich zu dem folgenden Beispiel in Kapitel 7 kam:

(defun quote-it (x)
  (list 'quote x))

Jetzt weiß ich daslist würde eine Liste mit ihren Argumenten erstellen, wie in(list 1 2 3 4) würde zur Liste auswerten(1 2 3 4).

Und das weiß ich auchquote erlaubt mir, ein Argument zu zitieren, so wie ich es tun kann'. Und so'east ist das gleiche wie(quote east)

Interessanterweise gibt die obige Funktion keine Liste zurück, sondern zitiert einfach alles, was ich an sie übergebe. Und wenn ich es nenne

(quote-it east) es würde einfach zurückkehren'east und nicht('east)

Wenn ich das getan hätte, hätte ich die Funktion als geschrieben

(defun quote-it (x) 
  (quote x))

Ich habe also keine Ahnung, warum wir den Befehl als schreiben'quote im(list 'quote x) im Beispiel aus dem Buch.

Ich weiß, dass ich mit Anführungszeichen zwischen Code und Daten wechseln kann'(+ 1 2), aber in diesem Fall scheint es meine Absicht zu sein, die Anführungszeichenfunktion hier tatsächlich anzuwenden. Warum also(list 'quote x)?

Kann jemand mit mehr Erfahrung dies erklären?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage