ふなばです。
もうひとつ。改行コードで終っている文字列で、\Z がうまくマッチしないみたい
なんですが、これはどうですか? たとえば、
"ruby\n".sub!(/\Z/, '%')
といったもの。改行コードがなければ思ったとおりなんです。
日本語をつかったときも \Z がうまくないみたいなんです。たとえば、
"日本語".gsub!(/(\A|\Z)/, '%')
といったもの。これも日本語でなければ思ったとおりなんです。
でも、つぎのようなのは思ったとおりで、
"Ruby にルビをふりましょう".gsub!(/(\A|\Z)/, '%')
複数バイト文字だけになるとなにか違うのかな。
--Tadayoshi Funaba