From: anamma06@... Date: 2018-08-26T08:52:50+00:00 Subject: [ruby-core:88652] [Ruby trunk Feature#14097] Add union and difference to Array Issue #14097 has been updated by ana06 (Ana Maria Martinez Gomez). @mame > However, I'm now getting confused. I thought you agreed that Array#union should be non-destructive, but in your talk you explained it was a destructive union operator. What are you driving at? In the talk I wanted to focus on the necessity of having an `union` method without entering in the discussion of if it should be non-destructive or not. It didn't seem that important to me if it is needed to add a `!` or not. But you are right, having `union!` in the voting would have been better. @matz gave me the same feedback after the talk. ;) ---------------------------------------- Feature #14097: Add union and difference to Array https://bugs.ruby-lang.org/issues/14097#change-73708 * Author: ana06 (Ana Maria Martinez Gomez) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- Currently there is a concat method in ruby which does the same as +, but modifying the object. We could introduce a union and difference methods, which would be the equivalent for the `|` and `-` operators. This operators are normally less used due to lack of readability and expressivity. You end seeing thinks like: ``` array.concat(array2).uniq! ``` just because it is more readable. When it could be written like: ``` array |= array2 ``` But, as this is not clear for some people, the new method will solve this problem: ``` array.union(array2) ``` And now this is clean and readable, as everybody expect from Ruby, the language focused on simplicity and productivity. ;) Can I send a PR? :) -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>