String#sub などの置換メソッドを何度も渡すと効率が問題になってくる。かといってブロックを渡すと ブロック呼び出しコストが高い(特に 1.8 )ため遅くなることがある。そこで、置換パターンをハッシュで渡せるようになった。これなら効率も上がる。 TABLE = { 'a' => 'A', 'b' => 'B' } # 複数回の置換 "hagbx".gsub (/a/, 'A').gsub (/b/, 'B') # => "hAgBx" # ブロック置換 "hagbx".gsub (/[ab]/){|c| TABLE[c] } # => "hAgBx" # ハッシュ置換( Ruby 1.9 ) "hagbx".gsub (/[ab]/, TABLE) # => "hAgBx" で、ベンチマーク。 Ruby 1.9 の String#inspect で JSON 形式への変換を高速化 -