Если я сделаю следующее с включенными предупреждениями в Ruby 1.9:
$VERBOSE = true
x = 42
5.times{|x| puts x}
Я получаю
warning: shadowing outer local variable - x
Предположительно это связано с использованием x в качестве параметра блока, а также переменной вне блока, но что означает «затенение»?