Frage

Es folgt eine Übung von SICP. Ich konnte es nicht auf meinem eigenen herauszufinden. Können einige, warum mir helfen zu verstehen?

Typ folgender Code in interpreator:

(car ''abracadabra)

Und es ausdrucken ‚Zitat‘. Warum?

War es hilfreich?

Lösung

Wie Gimpf sagte: ‚Abrakadabra = (Zitat Abrakadabra). Sie können dies überprüfen, indem Sie ‚‘ Abrakadabra auf den REPL eingeben, die gedruckt werden (Zitat Abrakadabra).

Andere Tipps

Weil 'Abrakadabra' ist wirklich (Zitat (Zitat Abrakadabra)). In Schema gilt die Regel: bewerten alle Teile des s-Ausdruck, und gelten für die übrigen Teile des ersten Teils

.

„Auto“ und „Zitat“ sind Symbole in der unten. #car und #quote sind die Funktionen, die sie sich beziehen.

Wenn Sie ein

(car (quote (quote abracadabra)))

und bewerten die Teile, Sie bekommen

(#car (quote abracadabra))

Dann wenden Sie den ersten Teil (die Auto-Funktion) mit dem zweiten Teil (eine Liste von zwei Symbolen).

quote

Und Sie erhalten nur das Symbol "Zitat".

Denken Sie daran, um herauszufinden, was in Schema geschieht, um die Teile zu bewerten und die ersten für den Rest gelten. Wenn Sie Angebot bewerten, erhalten Sie die Inneren Sachen. Der einzige verwirrende Teil ist, dass einige Grundelemente (Anzahl und Strings) bewerten, um sich selbst.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top