評価の環境モデルであるSICP 3.2では、環境は最初は最初のフレームと同じですか?

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

  •  04-10-2019
  •  | 
  •  

質問

の中に コンピュータープログラムの構造と解釈パート3.2, 、「環境」は「フレームのシーケンス」として定義されます。しかし、私が見る限り、本は環境とフレームの違いについてさらに議論していません。また、環境の図面は、本の図面が小さく、2Dであるため、環境とフレームを混同し、別の完全な図面の時間を容易に表示しないでください。

それで、創造の環境を最初のフレームと同じであると考えるのは正しいでしょうか?そして、環境で変化が発生すると(現存する結合が変更され、新しいバインディングが作成されます)、環境はフレームのシーケンスに新しいフレームを追加しますか?その理解が正しくない場合は、 環境とフレームの違いは何ですか?

助けてくれてありがとう!

役に立ちましたか?

解決

フレームのシーケンスは、(フレームの)リンクされたリストであり、グローバル環境を「上」に指しています。したがって、環境が作成される場合(たとえば、手順のバインディングのコンテキストで)、「環境」はフレームへのポインターです...これは、用語では環境(またはグローバル環境の場合、null)を指します。

だから...資格のある「はい」...それは、その最初のフレームから残りの環境にアクセスできるという意味での最初のフレームです。

それは助けますか?

心のこもった、ダック

他のヒント

多くの場合、人々は「環境」と「フレーム」を交換可能に使用します。個人的には、私はいつもそれらを明確にしようとしました。フレームを使用して、特定のスタックと環境を意味してすべてのフレームを意味します。

最初の環境は長さ1のシーケンスであり、最初のフレームだけです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top