From: Kent Sibilev Date: 2005-10-04T00:03:58+09:00 Subject: Re: Ruby 1.8.3: YAML.dump/load cannot handle Bignum Maybe something like this, but I'm not sure: RCS file: /src/ruby/lib/yaml/rubytypes.rb,v retrieving revision 1.16.2.9 diff -u -r1.16.2.9 rubytypes.rb --- lib/yaml/rubytypes.rb 20 Sep 2005 06:46:45 -0000 1.16.2.9 +++ lib/yaml/rubytypes.rb 2 Oct 2005 07:06:49 -0000 @@ -372,6 +372,10 @@ yaml_as "tag:yaml.org,2002:int" end +class Bignum + yaml_as "tag:yaml.org,2002:int" +end + class Float yaml_as "tag:yaml.org,2002:float" end Kent. On Sat, 2005-10-01 at 20:13 +0900, akira yamada / ������������������ wrote: > I received a report from a Debian user: > > > In Ruby 1.8.2: > > $ ruby -v > ruby 1.8.2 (2005-04-11) [i386-linux] > $ ruby -ryaml -e 'puts YAML.dump(1234567890)' > --- 1234567890 > $ ruby -ryaml -e 'puts YAML.dump(1234567890)' | ruby -ryaml -e 'p YAML.load(ARGF.read)' > 1234567890 > > In Ruby 1.8.3 (and trunk): > > $ ruby -v > ruby 1.8.3 (2005-09-21) [i486-linux] > $ ruby -ryaml -e 'puts YAML.dump(1234567890)' > !ruby/object:Bignum 1234567890 > $ ruby -ryaml -e 'puts YAML.dump(1234567890)' | ruby -ryaml -e 'p YAML.load(ARGF.read)' > /usr/lib/ruby/1.8/yaml.rb:133:in `transfer': allocator undefined for Bignum (TypeError) > from /usr/lib/ruby/1.8/yaml.rb:133:in `load' > from -e:1 > > It is a bug of Ruby 1.8.3. I think that YAML should be able to load > "!ruby/object:Bignum 1234567890". > > Thank you.