py: make closures work.

This commit is contained in:
Damien George
2013-12-30 22:32:17 +00:00
parent 8cc96a35e5
commit 6baf76e28b
14 changed files with 213 additions and 72 deletions

View File

@@ -0,0 +1,16 @@
# closures
def f(x):
y = 2 * x
def g(z):
return y + z
return g
print(f(1)(1))
x = f(2)
y = f(3)
print(x(1), x(2), x(3))
print(y(1), y(2), y(3))
print(x(1), x(2), x(3))
print(y(1), y(2), y(3))

View File

@@ -0,0 +1,16 @@
# closures; closing over an argument
def f(x):
y = 2 * x
def g(z):
return x + y + z
return g
print(f(1)(1))
x = f(2)
y = f(3)
print(x(1), x(2), x(3))
print(y(1), y(2), y(3))
print(x(1), x(2), x(3))
print(y(1), y(2), y(3))