From: s@... Date: 2019-03-23T10:13:56+00:00 Subject: [ruby-core:91957] [Ruby trunk Feature#15725] Proposal: Add Array#reverse_sort, #revert_sort!, #reverse_sort_by, and #reverse_sort_by! Issue #15725 has been reported by sikachu (Prem Sichanugrist). ---------------------------------------- Feature #15725: Proposal: Add Array#reverse_sort, #revert_sort!, #reverse_sort_by, and #reverse_sort_by! https://bugs.ruby-lang.org/issues/15725 * Author: sikachu (Prem Sichanugrist) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- Hello, I would like to propose four new methods: `#reverse_sort`, `#revert_sort!`, `#reverse_sort_by`, and `#reverse_sort_by!` to Array. These methods provides the most efficient way for user to get a reversed sorted array by calling `sort(_by)` then `.reverse!`. As a language designer, I believe that we should suggest the most efficient way to perform a certain action to user. By introduce these methods, we can discourage user to use them instead of do `array.sort.reverse` or `array.sort {|a,b| b<=>a}` which are less performant. I've looked through Redmine, and I saw that there was a proposal to introduce a similar method to Enumerable in https://bugs.ruby-lang.org/issues/8422, but was somewhat rejected due to the complication with infinite Enumerable. Given that Array is finite, I think this is the best place for these methods to be implemented. I've attached a patch to implement these methods based on other `ary_sort` related methods. Please let me know your thought on how I could improve them to be mergeable, as I am not proficient in writing C. I'm looking forward to hear your thoughts about this proposal. Thank you very much. ---Files-------------------------------- 0001-Add-Array-reverse_sort-reverse_sort_by-methods.patch (6.29 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: