From: ronnie@... Date: 2016-11-25T07:51:45+00:00 Subject: [ruby-core:78322] [Ruby trunk Feature#12746] class Array: alias .prepend to .unshift ? Issue #12746 has been updated by Akira Matsuda. FIY both append and prepend are in ActiveSupport: https://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/array/prepend_and_append.rb ---------------------------------------- Feature #12746: class Array: alias .prepend to .unshift ? https://bugs.ruby-lang.org/issues/12746#change-61687 * Author: Robert A. Heiler * Status: Open * Priority: Normal * Assignee: ---------------------------------------- This code works: array = %w( b c ) # => ["b", "c"] array.unshift "a" array # => ["a", "b", "c"] I would like for .prepend to also work on class Array. Rationale: I found myself to sometimes .prepend to a String object in Ruby, which works very well. Sometimes I do not want to care whether I have a String or an Array, I just want to prepend stuff (add to the beginning). I can do so via .unshift, fair enough, and I also can use [] such as: array[0,0] = 'a' Which works on both class String and Array. Since class Hash is sorted (kept in order) these days, perhaps they can also use a .prepend variant, which either works for prepending both a key-value pair, or optionally, to make the value default to nil and just provide a key (if the user does not need to specify a specific value) such as: hash.prepend :cat hash.prepend cat: :Tom But primarily, I only ask for class Array since I have had use cases for class Array; I did not yet have a similar use case for class Hash. Feel free to close this if it is considered unwanted for any reason! -- https://bugs.ruby-lang.org/ Unsubscribe: