>>>>> In [ruby-dev : No.23497] >>>>> nobu.nakada / nifty.ne.jp wrote: > むしろ、rubytypes.rb:1.21でこれと全く逆の変更が入っているので、 > テストのほうが更新されていないんじゃないかと思っているんですが。 HEADでテストが変更されましたのでそういうことのようですね。 ためしにHEADのtest_yaml.rbを1.8系で実行してみたところ 次の二つのテストでエラーになりました。 - YAML.load((1.0e20..2.0e20).to_yaml) - YAML.load(":x").to_yaml) == ":x" 前者はHEADのrubytypes.rbのパターンとそろえることでパスできました。 Index: lib/yaml/rubytypes.rb =================================================================== RCS file: /src/ruby/lib/yaml/rubytypes.rb,v retrieving revision 1.16.2.3 diff -u -r1.16.2.3 rubytypes.rb --- lib/yaml/rubytypes.rb 6 May 2004 06:39:45 -0000 1.16.2.3 +++ lib/yaml/rubytypes.rb 15 May 2004 06:15:25 -0000 @@ -414,7 +414,7 @@ YAML.add_ruby_type( /^range/ ) { |type, val| type, obj_class = YAML.read_type_class( type, ::Range ) - inr = '(\w+|[+-]*\d+(?:\.\d+)?|"(?:[^\\"]|\\.)*")' + inr = '(\w+|[+-]?\d+(?:\.\d+)?(?:e[+-]\d+)?|"(?:[^\\"]|\\.)*")' opts = {} if String === val and val =~ /^#{inr}(\.{2,3})#{inr}$/ r1, rdots, r2 = $1, $2, $3 後者はよくわかりません。 が、さすがにこれはまずいように思います。 1.8.2に間に合うように修正できたら良いのですが。 -- やまだあきら <URL:http://arika.org> Vine Caves, Ltd. <URL:http://vinecaves.com>