[ruby-list:38354] Re: String#reverse! のバグ?

From: matz@... (Yukihiro Matsumoto)
Date: 2003-09-03 07:09:17 UTC
List: ruby-list #38354
まつもと ゆきひろです

In message "[ruby-list:38353] Re: String#reverse! のバグ?"
    on 03/09/03, Tanaka Akira <akr@m17n.org> writes:

|> 1バイト文字列はリバースしても「変化がない」からじゃないです
|> かね。あれ、sortとreverseは特別扱いするんでしたっけ。
|
|この話はいろんな人が繰り返し驚いているように思うんですが、これが良い驚
|きだとすれば、この驚きからはどんな知見が得られるんでしょうか?

* bangメソッドの戻り値は変化したかどうかを知るためにだけ使うべき
* bangメソッドはchainしてはいけない

でその理由は

* bangメソッドには明らかに副作用があるのでchainingは危険
* 変化したかどうかを効率的に知る方法が他にない(ことが多い)

ですかね。

In This Thread