[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Jruby yaml load issue with floats?

Pradeep Gatram

2/20/2009 12:41:00 PM

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
4 Answers

Charles Oliver Nutter

2/20/2009 4:07:00 PM

0

Pradeep Gatram wrote:
> 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/j...

- Charlie

Pradeep Gatram

2/20/2009 6:00:00 PM

0

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_Built...
=> 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>

Charles Oliver Nutter

2/20/2009 7:09:00 PM

0

Pradeep Gatram wrote:
> Charles,
>
> Its still an issue on the 1.2 nightly build.

Ahh, so it is. It's something specific to running with ActiveSupport
present, because it works fine with normal Ruby.

I've filed it here: http://jira.codehaus.org/browse/...

Thank you!

- Charlie

Pradeep Gatram

2/21/2009 5:04:00 AM

0

Thanks Charles :)