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) almost 10 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