Commit 9aa643cf authored by Guido van Rossum's avatar Guido van Rossum

Test interaction of global and nested scopes -- thanks to Samuele Pedroni.

parent 7606e4d0
......@@ -13,3 +13,4 @@ test_scope
12. lambdas
13. UnboundLocal
14. complex definitions
15. scope of global statements
......@@ -318,3 +318,68 @@ def makeAddPair((a, b)):
return addPair
verify(makeAddPair((1, 2))((100, 200)) == (101,202))
print "15. scope of global statements"
# Examples posted by Samuele Pedroni to python-dev on 3/1/2001
# I
x = 7
def f():
x = 1
def g():
global x
def i():
def h():
return x
return h()
return i()
return g()
verify(f() == 7)
verify(x == 7)
# II
x = 7
def f():
x = 1
def g():
x = 2
def i():
def h():
return x
return h()
return i()
return g()
verify(f() == 2)
verify(x == 7)
# III
x = 7
def f():
x = 1
def g():
global x
x = 2
def i():
def h():
return x
return h()
return i()
return g()
verify(f() == 2)
verify(x == 2)
# IV
x = 7
def f():
x = 3
def g():
global x
x = 2
def i():
def h():
return x
return h()
return i()
return g()
verify(f() == 2)
verify(x == 2)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment