ふなばです。

もうひとつ。改行コードで終っている文字列で、\Z がうまくマッチしないみたい
なんですが、これはどうですか? たとえば、

    "ruby\n".sub!(/\Z/, '%')

といったもの。改行コードがなければ思ったとおりなんです。

日本語をつかったときも \Z がうまくないみたいなんです。たとえば、

    "日本語".gsub!(/(\A|\Z)/, '%')

といったもの。これも日本語でなければ思ったとおりなんです。

でも、つぎのようなのは思ったとおりで、

    "Ruby にルビをふりましょう".gsub!(/(\A|\Z)/, '%')

複数バイト文字だけになるとなにか違うのかな。

--Tadayoshi Funaba