Actions
Feature #10729
openArray method to subtract in place
Status:
Open
Assignee:
-
Target version:
-
Description
I request a method on array that takes another array, subtract that from self in place (= destructively), and return the subtracted elements:
a = [1, 2, 3, 4, 5]
a.some_method([2, 4, 6]) #=> [2, 4]
a #=> [1, 3, 5]
Ideally, it should also allow a block:
a = [1, 2, 3, 4, 5]
a.some_method(&:even?) #=> [2, 4]
a #=> [1, 3, 5]
This operation is quite frequent, but at the moment, it requires several steps to do.
Updated by Eregon (Benoit Daloze) about 9 years ago
The block form can be achieved with Enumerable#partition.
I agree in general splitting an array, according to some property using the order of the elements (no take_drop_while) or to some other array (this request) is more difficult than it could be.
Actions
Like0
Like0