まつもと ゆきひろです
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 <ematsu / pfu.co.jp> 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を返す,です.
まつもと ゆきひろ /:|)