From: "knu (Akinori MUSHA)" Date: 2012-06-15T21:46:01+09:00 Subject: [ruby-core:45666] [ruby-trunk - Bug #6596] New method for Arrays : Array#index Issue #6596 has been updated by knu (Akinori MUSHA). > a = [1, 2, 3, 1] > a.indexes(1) > Return : [0, 3] Is there any proof that such a new functionality has a certain amount of need? > a.index(1) > Return : 0 > In my opinion, it's not really logical, 1 is in the array twice We also have Array#rindex and it looks completely logical for us with some C background. ---------------------------------------- Bug #6596: New method for Arrays : Array#index https://bugs.ruby-lang.org/issues/6596#change-27265 Author: robin850 (Robin Dupret) Status: Open Priority: Normal Assignee: Category: core Target version: 2.0.0 ruby -v: 2.0.0 Hello 5 days ago, I submitted a pull request on Github which provides a new method for the array objects which is Array#indexes. I have fist edit the Array#index method in order it to return an array of indexes and not a single index (which is the first occurrence it finds). I found it more logical but a user (trans) tells us that it could break the contract of Array#index so I decided to move it into Array#indexes. Eric (drbrain) tells me I should reasonning why I want to add this method ; it's just a point of view : I don't really understand why Array#index return a single index if the parameter is in the array several times. Examples a = [1, 2, 3, 1] a.indexes(1) Return : [0, 3] a.index(1) Return : 0 In my opinion, it's not really logical, 1 is in the array twice Moreover, this pull request doesn't beak anything because we don't edit the Array#index method so programms which were created with previous version of Ruby will work. I hope my post is complete. Have a nice day. -- http://bugs.ruby-lang.org/