In SICP 3.2, il modello Ambiente di valutazione, è un ambiente inizialmente lo stesso come il primo fotogramma?

StackOverflow https://stackoverflow.com/questions/3761981

  •  04-10-2019
  •  | 
  •  

Domanda

Il Struttura e Interpretazione dei programmi per elaboratore parte 3.2 , un "ambiente" è definito come "una sequenza di fotogrammi." Ma, per quanto posso vedere, il libro non discutere ulteriormente la differenza tra un ambiente e una cornice. Inoltre, ho il sospetto che i disegni di loro ambienti fonde con telai, perché i libri disegni sono piccole e 2-D, e non mostrano prontamente breve periodo di tempo-evoluzione di un altro disegno completo.

Quindi, sarebbe corretto pensare di un ambiente al momento della creazione come lo stesso come il suo primo fotogramma? E poi, quando si verifichi un cambiamento nell'ambiente (uno esistente legame cambiato, un nuovo legame creato), l'ambiente aggiunge un nuovo telaio per la sua sequenza di fotogrammi? Se questa comprensione non è corretto, quindi che cosa è esattamente la differenza tra un ambiente e una cornice

Grazie in anticipo per qualsiasi aiuto!

È stato utile?

Soluzione

La sequenza di fotogrammi è la lista collegata (di fotogrammi) rivolto 'verso l'alto' verso l'ambiente globale. Così, quando viene creato un ambiente (per esempio, nel contesto di una procedura vincolante), il 'ambiente' è un puntatore alla cornice ... che in punti termine per l'ambiente racchiude (o nullo, se l'ambiente globale).

Quindi ... un qualificato 'sì' ... è il primo fotogramma, nel senso che il resto dell'ambiente è accessibile da quel primo fotogramma.

fa questo aiuto?

Cordialmente, Dak

Altri suggerimenti

Un sacco di volte, la gente usa "ambiente" e "frame" in modo intercambiabile. Personalmente, ho sempre cercato di tenerli distinti. Uso telaio a significare un particolare stack e un ambiente di essere tutti i fotogrammi.

Credo dell'ambiente iniziale è una sequenza di lunghezza 1, con solo il primo fotogramma.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top