Sergey it is your fault if I cannot sleep ;), is this more readable ?
module Enumerable
def change(to, &blk)
map{ |x| blk.call(x) ? to : x }
end
end # module Enumerable
puts (1..100).change(:FizzBuzz){ |x| x%15 == 0 }.change(:Fizz){ |x|
x%3 == 0 rescue false}.change(:Buzz){ |x| x%5 == 0 rescue false }