From: "たけ (tk)" Date: 2001-04-15T00:51:34+09:00 Subject: [ruby-list:29258] Re: Array#include! たけ(tk)です。 Yukihiro Matsumoto さん曰く。 》| 配列の要素を点検するために次のようなメソッドがあると便利ではないかと思 》|いました。どうでしょうか? 》| 》|Array#include!(item) 》 》適切な名前があればね。include!はちょっと。 Array#delete の副作用で同じことが出来そうなので、特に必要というわけで はなさそうです。  ただし、デスクトップリファレンスp.52の説明で、 》 Arrayクラスでメソッド名の末尾に ! が付くメソッドは配列自身を変更し、変 》更が行われた場合にはその配列を返し、変更が行われなかった場合には nil を 》返す。一方、! が付かないメソッドでは配列のコピーを変更して返す。 とありますが、delete、delete_at の場合には、! が付かないメソッドであるに もかかわらず、次のようになっているようです。  配列自身を変更する、               ・・ ! 付きと同じ  変更が行われた場合には「削除した要素」を返す。  ・・ 独自  変更が行われなかった場合には nil を返す、     ・・ ! 付きと同じ 副作用利用の視点からいってもこの仕様が望ましいのですが、原則とは異なって いるので、一言説明が必要かと思いました。 たけ(tk) ggb03124@nifty.ne.jp http://member.nifty.ne.jp/take_tk