Project

General

Profile

Actions

Feature #12746

closed

class Array: alias .prepend to .unshift ?

Added by shevegen (Robert A. Heiler) over 7 years ago. Updated almost 7 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:77236]

Description

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!

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0