Si yo lo siguiente con advertencias activada bajo Ruby 1.9:¿Qué significa "sombra" en Ruby?
$VERBOSE = true
x = 42
5.times{|x| puts x}
consigo
warning: shadowing outer local variable - x
Es de suponer que tiene que ver con el uso de x como parámetro de bloque, así como una variable fuera de la bloquear, pero ¿qué significa "sombra"?
Cambiaría la redacción de "cuando tenga dos variables locales diferentes con el mismo nombre". A algo en líneas de "cuando tienes variable (s) local (es) con el mismo nombre que otra variable o método en el ámbito externo". –