Actions
Feature #21300
openSuggestion: Method for Array truncation
Status:
Open
Assignee:
-
Target version:
-
Description
#pop(n)
and #slice!(...)
can be used for truncation, but they both allocate a new array for the deleted elements (unless you do it one at a time with #pop()
...), which is not always needed.
I propose adding a #size=
method for truncating without allocating a new array:
a = [10, 20, 30]
a.size = 2
a # [10, 20]
Growing the array could be allowed as well...
a = [10, 20]
a.size = 4
a # [10, 20, nil, nil]
Updated by Eregon (Benoit Daloze) 4 days ago
Using ary.size =
feels unidiomatic Ruby to me, it feels very low level and not very expressive about the intent (e.g. it's not clear if shrinking or growing).
I don't think pop(n) returning an Array is big overhead, i.e., I don't think there is enough reason to add another Array method for this rarely-needed case.
Actions
Like0
Like0