String#tr! を使う場合同じ文字数しか置き換え出来ないんでしょうか?

s = "ABCDEFG"
s.tr!("D", "XX")
print s + "\n"

結果: ABCXEFG