原です。

> けいじゅ@SHLジャパンです. 

> そうすると
> 
> String#sub == String#sub!
> 
> なわけですか??

等しいのは返り値だけですよね。でもなぜ等しくしてあるのか、つまり

$_ = "foo"; resut = sub(/bar/, "baz")

と、

resut = "foo".sub(/bar/, "baz")

の result が異なる様にしてある理由が分かりません。後者の結果も
result == "foo" であるべきだと思うのですが。訳があるのでしょうか?


                           Shin-ichro Hara(Nagaoka Univ.of Tech.)