まつもと ゆきひろです

In message "[ruby-list:38350] Re: String#reverse! 	のバグ?"
    on 03/09/03, kkosako / softbank.co.jp <kkosako / softbank.co.jp> writes:

|> 両方は揃えた方が良いということを前提だとすると
|> 
|>   * チェックする(Arrayはequal?で)
|>   * チェックする(Arrayは==で)。コスト上昇は気にしない
|>   * チェックしない
|> 
|>  のいずれかを選ぶことになりますね。
|
|破壊的メソッドは戻り値を参照することよりもオブジェクトの状態を変化させることが
|主目的なので、戻り値のためにコストが上昇するのは避けるべき
|と思います。

ですよねえ。

|比較を同一性チェックで行うことが良いのか悪いのかについては、Ruby全体での
|方針を知らないので、わかりません。

Arrayの他の要素チェックはほとんどが==を、一部でeql?を使って
います。equal?を使うのはちょっと例外的ですね。