2 ms·
I don't understand. You mean there's a good reason for it to overwrite variables in outer scopes if they exist? Is there any way to specify if I want block-loc
by akkartik 19y ago
I don't understand. You mean there's a good reason for it to overwrite variables in outer scopes if they exist?
Is there any way to specify if I want block-local or not?
The way python deals with scopes is to provide read access to outer scopes if there are no writes to a variable.
- tptacek 19y agoOf course there is: if you couldn't access variables in the enclosing scopes, blocks would be drastically less useful. Ruby uses anonymous functions where Python would use a loop construct.
- akkartik 19y ago[We took this conversation offline. it seems this is a known gotcha (e.g. http://www.osix.net/modules/article/?id=401 http://www.osix.net/modules/article/?id=401), and may be changed in ruby 2.0 (http://groups.google.com/group/sbonrails/browse_thread/thread/cfcfdad71d8f786c http://groups.google.com/group/sbonrails/browse_thread/threa...). Thanks tptacek.]