[ruby-dev:36776] Re: [Bug #650] Marshal.load raises RegexpError
卜部です。
Tanaka Akira さんは書きました:
> syntax と semantics のどちらを保存するかというと、semantics
> のほうがいいんじゃないですかね。
>
> 今は以下のように、マッチするものが変化するわけで、それが変化
> しないようになるほうがまだマシなんじゃないでしょうか。
>
semanticsのほうが保存されてたほうがいいのには納得しましたが、寝不足の頭
で考えたところによると、それって無理じゃない?
1.8と1.9は正規表現エンジンが違うわけで、たとえば /(?<foo>bar)/ とかは1.8
に持っていくことはできませんよね。
まあつまり、結局のところMarshalデータを1.8で作って1.9で読むのはひょっと
して頑張れば可能かもしれないけど、1.9で作って1.8で読むのはあからさまに不
可能なので、頑張れるにしても上位互換くらいが関の山で、ってことはMarshal
のバージョンが同じであることに固執しても意味ないんじゃないかという気がし
てきたんですが、どうでしょう。