From: eregontp@... Date: 2015-01-11T14:29:20+00:00 Subject: [ruby-core:67510] [ruby-trunk - Feature #10729] Array method to subtract in place Issue #10729 has been updated by Benoit Daloze. 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. ---------------------------------------- Feature #10729: Array method to subtract in place https://bugs.ruby-lang.org/issues/10729#change-50929 * Author: Tsuyoshi Sawada * Status: Open * Priority: Normal * Assignee: * Category: * Target version: ---------------------------------------- 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. -- https://bugs.ruby-lang.org/