From: Urabe Shyouhei Date: 2008-10-19T02:13:16+09:00 Subject: [ruby-dev:36785] Re: [Bug #650] Marshal.load raises RegexpError 卜部です。 Yukihiro Matsumoto さんは書きました: > (1) 杓子定規に考えて、メジャーバージョンをあげる(1.8と1.9が > 通信できなくなる、うれしくない) > > (2) ささいな違いなので気にしない > > (3) 1.8で正規化する(すでに書き込んだデータは救済できないし、 > 副作用もある) > > (4) 1.9側に1.8正規表現かどうか判別して1.9正規表現に変換する > (おそらくは巨大な)ルーチンを追加する(苦労の割に得るもの > が少ない、うれしくない) > (5) 1.9でRegexp#_dumpとRegexp#_loadを定義する ってのはどうでしょうね。すると * TYPE_REGEXPなデータは1.8のRegexp * TYPE_USERDEFなデータ(でklass==rb_cRegexp)は1.9のRegexp という割と簡単な判定でいけそうな気がするんですが。 # おもいつきレベルだけど。