Jruby yaml load issue with floats?

P

Pradeep Gatram

Try this with both MRI and Jruby 1.1.6 (with active support 2.2.2)

irb(main):004:0> require 'rubygems'
=> true
irb(main):005:0> require 'activesupport'
=> true
irb(main):006:0> YAML.load(YAML.dump(3.0)).eql?(3.0)
=> true

MRI returns true, while JRuby returns false !!!

The root cause is that JRuby is loading the yaml as
irb(main):021:0> YAML.load(YAML.dump(3.0))
=> #<YAML::privateType:0x18ad9a0 @value="3.0", @type_id="tag:yaml.org,
2002:float:Float">

instead of as 3.0

Has any bug been logged for this? I would have gone ahead and logged
it, but I am unable to register on codehaus :(. For some wierd reason,
I just can't get thru their capta!!! (another bug???).

Would be great if someone could log this one as a bug or point me to
an already logged bug or otherwise explain this behaviour.

Pradeep
 
C

Charles Oliver Nutter

Pradeep said:
Try this with both MRI and Jruby 1.1.6 (with active support 2.2.2)

irb(main):004:0> require 'rubygems'
=> true
irb(main):005:0> require 'activesupport'
=> true
irb(main):006:0> YAML.load(YAML.dump(3.0)).eql?(3.0)
=> true

MRI returns true, while JRuby returns false !!!

The root cause is that JRuby is loading the yaml as
irb(main):021:0> YAML.load(YAML.dump(3.0))
=> #<YAML::privateType:0x18ad9a0 @value="3.0", @type_id="tag:yaml.org,
2002:float:Float">

instead of as 3.0

This should be fixed on trunk/1.2. Can you test out a nightly build?

http://jruby.headius.com:8080/hudson/job/jruby-dist/

- Charlie
 
P

Pradeep Gatram

Charles,

Its still an issue on the 1.2 nightly build.

pradeep@pradeep-laptop:~/jruby-1.2.0/bin$ ./jruby -S irb
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'activesupport'
JRuby limited openssl loaded. gem install jruby-openssl for full
support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
=> true
irb(main):003:0> YAML.load(YAML.dump(3.0))
=> #<YAML::privateType:0x2d80ae @type_id="tag:yaml.org,
2002:float:Float", @value="3.0">
irb(main):004:0> YAML.load(YAML.dump(3.0)).eql?(3.0)
=> false
irb(main):005:0>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,808
Messages
2,569,684
Members
45,443
Latest member
sol

Latest Threads

Top