#! /usr/bin/env python3

#[(lambda i: i + 1)(n) for n in range(10)]
#[ i + 1 for i in range(10)]

# Achtung: Joey hat sich in den Fuss geschossen!

# Es scheint, als waere n in der Comprehension eine Referenz
#  und nicht in jedem Schleifendurchlauf eine neue Variable
#  Daher funktioniert Currying hier nicht

mylist = [(lambda i: i + n) for n in range(10)]
#print(mylist)

print(mylist[5](10))
print(mylist[8](10))

mylist = [lambda i: print(n) for n in range(10)]
print(mylist[5](10))
n = 100
print(mylist[5](10))

print("-" * 30)
mylist = []
for n in range(10):
    mylist.append(lambda i: i + n)
print(mylist[5](10))
print(mylist[8](10))
