From: tyler@... Date: 2020-07-28T23:03:20+00:00 Subject: [ruby-core:99377] [Ruby master Feature#6596] New method for Arrays : Array#indexes Issue #6596 has been updated by TylerRick (Tyler Rick). I'm not very good at writing C, but here is a reference implementation in Ruby (plus unit tests) in case it's helpful: https://github.com/rubyworks/facets/pull/294/files This version adds `indexes` (aliased as `index_all`) to `Array`, `Enumerable`, and `Enumerator::Lazy` for completeness. ---------------------------------------- Feature #6596: New method for Arrays : Array#indexes https://bugs.ruby-lang.org/issues/6596#change-86782 * Author: robin850 (Robin Dupret) * Status: Assigned * Priority: Normal * Assignee: matz (Yukihiro Matsumoto) ---------------------------------------- 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. -- https://bugs.ruby-lang.org/ Unsubscribe: