Только что обнаружил вот такое поведение, которое мне кажется интересным/нелогичным/неочевидным. irb(main):001:0> x = [1,2,3,4,5] => [1, 2, 3, 4, 5] irb(main):002:0> x.map {|x| x + 1} => [2, 3, 4, 5, 6] irb(main):003:0> x => 5 Хотя судя по всему еще все поменяется. http://redhanded.hobix.com/inspect/ruby20BlockLocalVariable.html http://redhanded.hobix.com/inspect/blockAndLambda.html