WPC created JRUBY-6381:
--------------------------

             Summary: java.util.Collection#each dose not respect to_ary defined 
by objects that are iteratered
                 Key: JRUBY-6381
                 URL: https://jira.codehaus.org/browse/JRUBY-6381
             Project: JRuby
          Issue Type: Bug
          Components: Java Integration
    Affects Versions: JRuby 1.6.5
         Environment: Mac OSX 10.7.2, Java 1.6.0_29 64bit
            Reporter: WPC


If you have a collection of objects that defined to_ary method, with normal 
ruby array you get sort of argument pattern matching when you iterate them:

    class Pair                                                                  
                   
      def initialize(a, b)                                                      
                   
        @a = a                                                                  
                   
        @b = b                                                                  
                   
      end                                                                       
                   
                                                                                
                   
      def to_ary                                                                
                   
        [@a, @b]                                                                
                   
      end                                                                       
                   
    end                                                                         
                   
                                                                                
                   
   >> [Pair.new('first', 'second')].each {|a, b| p a; p b}
    "first"
    "second"

But with a java collection you do not get this behavior

  java.util.ArrayList.new([Pair.new('first', 'second')]).each { |a, b| p a; p b 
}
    #<Pair:0x54be8c3e @b="second", @a="first">
    nil

This seems like only a little bit inconsistency. But it do give me 
inconvenience currently. I have java methods returns a List of Pair defines in 
java which has to_ary defined on them. I need call to_a on the list each time I 
want to map through it.


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


Reply via email to