From: Masaaki Sakano Date: 2002-03-10T03:27:32+09:00 Subject: [ruby-list:34277] [Propose]methods in Object & Enumerable 坂野 正明と申します。 Ruby の ObjectクラスおよびEnumerable moduleに、こんなメソッドが あればなぁ、と前々から思っていたものがあるので、提案させて下さい。 ================== 1. Object クラスのメソッド 仮名: not?() 機能: object の否定。(! obj) と等価。 class Object def not? if ! self true else false end end end アピール: (! obj) という書き方は、"not A"、つまり英語的表現だと思います。 日本語を母国語とするものとしては、「イでない」という後置否定が あればなぁ、としばしば思うんですが…。 # !, &&, || などが入り交じると、私は頭が混乱するもんで、 # そんな時、後置否定があればましなのに、と感じることしばしば。 2. Enumerable モジュールのメソッド 仮名: grep?(obj) 機能: === の関係にある要素があるかどうか(true/false)。 module Enumerable def grep?(a) if ! self.grep(a).empty? true else false end end end アピール: 条件を満たす要素があるかどうか(だけ)が知りたい、ということが結構 あります。しかし、これを grep で表現すると、少しうざったくなります。 場合によっては include?(obj) が使えます。ただ、include?(obj) だと "==" の関係なんで、特に(文字列要素に対する)正規表現マッチでの 判断ができないのが痛いのです。 ================== 以上です。 いかがでしょうか? # 実は以前にどこかで話題になったことがありましたら、すいません。 --------------- さかのまさあき