From: kkosako@... Date: 2003-09-03T15:48:34+09:00 Subject: [ruby-list:38350] Re: String#reverse! のバグ? > From: matz@ruby-lang.org [mailto:matz@ruby-lang.org] > Arrary#reverseについては、比較を同一性(equal?)で行うなら安価 > ですが、同値性(==)で行うとするならちょっとコストが高いですね。 > > 両方は揃えた方が良いということを前提だとすると > > * チェックする(Arrayはequal?で) > * チェックする(Arrayは==で)。コスト上昇は気にしない > * チェックしない > > のいずれかを選ぶことになりますね。 破壊的メソッドは戻り値を参照することよりもオブジェクトの状態を変化させること が 主目的なので、戻り値のためにコストが上昇するのは避けるべきと思います。 比較を同一性チェックで行うことが良いのか悪いのかについては、Ruby全体での 方針を知らないので、わかりません。 -- 小迫@出向中