>>73
subやgsubのブロックは正規表現の闇をなんとかするために仕方なく導入されたので、
いわゆる繰り返しブロックとは使われ方が違う
そしてその使われ方をきちんと勉強すればどうすればいいのかわかるはず

irb> str = "0123456789"
irb> p str.gsub(/\d/){|s| i=s.to_i; if i < 7 then (i*2).to_s else '' end}
"024681012"