From: matz@... (Yukihiro Matsumoto) Date: 1997-12-12T17:50:19+09:00 Subject: [ruby-list:5653] Re: How to distinguish 1.1 or lower (was Re: bug in String#scan ??) まつもと ゆきひろです In message "[ruby-list:5652] How to distinguish 1.1 or lower (was Re: bug in String#scan ??)" on 97/12/12, Eiji-usagi-MATSUmoto writes: |うさぎです | |rubyのバージョンによって処理を分けたいんですが,どうしたら |エレガントでしょうか? |やりたいことは,1.1かそれ以前かを見分けたいだけです.(for mkmf) なんか VERSION >= "1.1" ってのが一般的みたいです. # Perlみたいに require 1.1 とかするかなあ. |っていないので確認のため,str = "abc.def" として |> /^(.*)\.(.*)$/ =~ str |> base = $1 |> ext = $2 |というのをやったのですが,$1にも$2にも何も入ってくれません. str = "abc.def" /^(.*)\.(.*)$/ =~ str base = $1 ext = $2 p [base, ext] を実行したところ["abc", "def"]が出力されるようですが,なんか 間違えたかな? | 正規表現 =~ 文字列 | |という式は,どのようにしてオブジェクト指向的に理解したらよい |のでしょうか? 正規表現オブジェクトの =~ メソッドが文字列を引数に実行される と,正規表現が文字列にマッチする時マッチする位置を整数で返し (先頭が0),失敗した時にはfalseを返す,です. まつもと ゆきひろ /:|)