From: matz@... (Yukihiro Matsumoto) Date: 2003-04-10T13:21:02+09:00 Subject: [ruby-dev:19996] Re: lib/date まつもと ゆきひろです In message "[ruby-dev:19992] lib/date" on 03/04/10, Tadayoshi Funaba writes: |いつのまにか lib/date あたりが微妙に変化しているので、そのあたり、ちょっ |と確認していいですか? | |1.8 では、Date に限らず、<=> は、比較できない場合、例外にするのではな |く、nil を返すべき、となった。 そうです。1.6ではComparableは「<=>実行中に例外が発生したら偽」 という仕様でしたが、効率向上のため1.8では例外が起きたらその まま例外をスルーする仕様に変更されてます。 |1.8 では、Date に限らず、=== は、比較できない場合、例外とするのではな |く、false を返すべき、となった。 同上。 |あと、date/format.rb のなかの正規表現も変更されてますが、これも、この |ようにしないといけないと決定されたのでしょうか? | |- str.gsub!(/[^-+.\/:0-9a-z]+/ino, ' ') |+ str.gsub!(/[^.\/:0-9a-z+-]+/ino, ' ') これは「しなければならない」ではないです。文字クラス中の範囲 を現さない - についての議論の途中でこっちの方が読みやすいの ではという意見に沿ったものでしょう。元のでもエラーにも警告に もなりませんから、気に入らないなら戻してください。 まつもと ゆきひろ /:|)