Daniel Jackson created JRUBY-6562:
-------------------------------------
Summary: Join fails on fixnum sub-array
Key: JRUBY-6562
URL: https://jira.codehaus.org/browse/JRUBY-6562
Project: JRuby
Issue Type: Bug
Components: Core Classes/Modules
Affects Versions: JRuby 1.6.7, JRuby 1.6.6
Environment: Fedora 14
jruby 1.6.7 (ruby-1.9.2-p312) (2012-02-22 3e82bc8) (OpenJDK 64-Bit Server VM
1.6.0_20) [linux-amd64-java]
Reporter: Daniel Jackson
Attachments: array_join_fail_example.rb
# When a Fixnum array is created, join works as expected:
a = [1,2,3,4]
a.join('.') -> "1.2.3.4"
# When a sub-list is created from an existing Fixnum array, join fails.
b = a[2,3]
b.join('.') ->
TypeError: can't convert Fixnum into String
from org/jruby/RubyArray.java:1871:in `join'
from ...
from org/jruby/RubyKernel.java:1088:in `eval'
from org/jruby/RubyKernel.java:1410:in `loop'
from org/jruby/RubyKernel.java:1197:in `catch'
from org/jruby/RubyKernel.java:1197:in `catch'
from ...
This behaviour only occurs in 1.9 compatibility mode, not 1.8. It occurs in
both JRuby 1.6.6 and 1.6.7.
Verified expected behaviour in Ruby 1.8.7; 1.9.3; and JRuby 1.6.7 in 1.8
compatibility mode.
I suspect that the array returned from a subset specification is in some way
different than a regularly declared array. I inspected the class and ancestry
and they look identical, but the behaviour is clearly different.
The line above in RubyArray.java points to the "join19" method.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email