Re:Python’s lambda is broken
by scott_s on Thursday April 09, 2009 @02:24PM
(#554865)
Indeed, Python is using lexical scoping. This behavior is well known.
[ Parent
| on HN ]
While true, that is not really the issue. The issue is which lexical scope the loop iterator is defined in. In python, it is apparently like this:
i = 0
increment i
<do loop body with i>
It could have been: i = 0
increment 1
create new environment
bind i here
<do loop body>
In the second case, each loop body would have its own "i". In the first case, they all share the same "i".