Rubyである文字列wordに数値が含まれているかどうかをBoolean値で判定するには次のようにする
def self.include_number?(word) (word =~ /[0-9]/) != nil end
String#=~
は、$1を引数にとり、マッチすればそのインデックスを、そうでなければnil
を返す。
このメソッドでは、nil
と比較することで、
- 見つからない場合は
nil != nil
はfalse
を返す - 見つかった場合は
3 != nil
のようになり、true
を返す
という仕組み。