Difference between revisions of "Environment"

From CS 61A Wiki
Jump to: navigation, search
[unchecked revision][unchecked revision]
(Redirected page to Environment diagram#Environment)
 
Line 1: Line 1:
#REDIRECT [[Environment diagram#Environment]]
+
An ''environment'' consists of a sequence of frames. For example, in the following code:
 +
<syntaxhighlight lang="python">
 +
x = 1
 +
y = 2
 +
def outer():
 +
    x = 3
 +
    y = 4
 +
    def inner():
 +
        x = 5
 +
        y = 6
 +
    return inner
 +
outer()()
 +
</syntaxhighlight>
 +
the sequence of frames that makes up the environment of <code>inner</code> is <code>inner</code> → <code>outer</code> → <code>global</code>. Here are the bindings in each frame:
 +
{| class="wikitable" style="text-align:center"
 +
! frame
 +
! x
 +
! y
 +
|-
 +
! <code>global</code>
 +
| 1 || 2
 +
|-
 +
! <code>outer</code>
 +
| 3 || 4
 +
|-
 +
! <code>inner</code>
 +
| 5 || 6
 +
|}

Revision as of 10:53, 27 May 2014

An environment consists of a sequence of frames. For example, in the following code:

x = 1
y = 2
def outer():
    x = 3
    y = 4
    def inner():
        x = 5
        y = 6
    return inner
outer()()

the sequence of frames that makes up the environment of inner is innerouterglobal. Here are the bindings in each frame:

frame x y
global 1 2
outer 3 4
inner 5 6