[#37762] tcltklibの作りかた — Mitsuo Igarashi <mitsu5@...>
mitsu5 です。
8 messages
2003/06/07
[#37774] Ruby/zlibのインストール方法はどのようにするのですか? — "igusa" <igusa@...>
いぐさです。
6 messages
2003/06/09
[#37801] 動的に生成したクラスメソッドのundef — Ryuichiro Hara <r@...>
動的に生成したメソッドを除く方法を知りたく質問します。
6 messages
2003/06/19
[#37814] Re: Oniguruma and PHP — kkosako@...
> スラッシュドットでも話題になっていましたが、Onigurumaを
1 message
2003/06/23
[#37815] 配列の使い方 — Kouji Miyauchi <koji.miyauchi@...>
宮内と申します。
9 messages
2003/06/23
[#37830] reference from nested class to a constant in a module included by the parent class — NISHIMATSU Takeshi <t-nissie@...>
西松と申します.
6 messages
2003/06/27
[#37838] Raccのインストールについて (MacOS X) — "Ken'ichiro Nakatani" <kenzo@...>
はじめまして。中谷と申します。
8 messages
2003/06/27
[#37839] Re: Raccのインストールについて (MacOS X)
— Ogino Junya <ogino@...>
2003/06/28
荻野ともうします。
[ruby-list:37751] Re: マッチした部分を配列にしまう方法
From:
Koji Arai <JCA02266@...>
Date:
2003-06-04 13:19:59 UTC
List:
ruby-list #37751
新井です。
string =~ string の挙動に関してです。
In message "[ruby-list:37726] Re: マッチした部分を配列にしまう方法"
on 26 May 2003 16:21:51 +0900,
matz@ruby-lang.org (Yukihiro Matsumoto) wrote:
> まつもと ゆきひろです
> |前者です。理由は、直観的でないからです(私の感覚で)。
> |
> |なぜ、直観的でないか考えたところ、=~ は、正規表現マッチを行
> |う演算子という認識があるからだとおもいます。String#index は
> |正規表現マッチではありませんから。
> |
> |以前は =~ に複数の意味があるようには思えなかったが、今は複数
> |の意味があるように思えるっと言い替えてもいいです。
>
> まあ、理解できる考えです。
> (a) 1.6
> (b) 現在の1.8
> (c) 新井案
>
> ということになるんでしょうか。(a)が気に入らないから(b)にした
> わけですが、考えてみれば(c)でも妥協できるかも。
現在、1.6 の挙動 + warning になったわけですが
~ string
はどうしますか?これもなくすと私好みの ruby になります(^^;
理由は string =~ string と同じです。
また、現状 string =~ string の該当コードは
| case T_STRING:
| #if RUBY_VERSION_CODE < 181
| rb_warn("string =~ string will be obsolete; use explicit regexp");
| #endif
| reg = rb_reg_regcomp(y);
| start = rb_reg_search(reg, x, 0, 0);
| if (start == -1) {
| return Qnil;
| }
| return INT2NUM(start);
となってますが、これだと 1.8.1 になると warning が消えるだけで
何も変化しません。(c) 案なら
#if RUBY_VERSION_CODE < 181
rb_warn("string =~ string will be obsolete; use explicit regexp");
reg = rb_reg_regcomp(y);
start = rb_reg_search(reg, x, 0, 0);
if (start == -1) {
return Qnil;
}
return INT2NUM(start);
#else
rb_raise(rb_eTypeError, "honyarara-");
#endif
とかですかね?
--
新井康司 (Koji Arai)