def m(): a = [] for i in range(3): a.append(lambda: i) return a
b = m()
for n in range(3): print(b[n]()) # => 2 2 2
... work the same as this in Ruby:
def m
a = []
(0..2).each {|i| a << ->(){i}}
a
end
aa = m
(0..2).each {|n| puts aa[n].()} # => 0 1 2
lambda i=i: i
... is needed to make it work in Python. Just wondered why?
gvim
--
https://mail.python.org/mailman/listinfo/python-list
