[ https://issues.apache.org/jira/browse/GROOVY-11127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17749008#comment-17749008 ]
ASF GitHub Bot commented on GROOVY-11127: ----------------------------------------- paulk-asert merged PR #1915: URL: https://github.com/apache/groovy/pull/1915 > Add '|', '&', and '^' operators to Set and SortedSet > ---------------------------------------------------- > > Key: GROOVY-11127 > URL: https://issues.apache.org/jira/browse/GROOVY-11127 > Project: Groovy > Issue Type: New Feature > Components: groovy-jdk > Reporter: Spencer Allain > Assignee: Paul King > Priority: Trivial > Fix For: 5.x > > > Many languages conventionally allow sets to use '|' as union, '&' as > intersection, and '^' as symmetric difference operations on sets. > This ticket is proposing adding these operations as DefaultGroovyMethods for > Set and SortedSet such that the below tests should pass: > {code:java} > Set a = [1,2,3,4] as Set > Set b = [3,4,5,6] as Set > assert (a | b) == [1,2,3,4,5,6] as Set > assert (a & b) == [3,4] as Set > assert (a ^ b) == [1,2,5,6] as Set > Set d = ['a', 'B', 'c'] as Set > Set e = ['A', 'b', 'D'] as Set > assert d.and(e, String.CASE_INSENSITIVE_ORDER) == ['a', 'B'] as Set > assert d.and(e, Comparator.naturalOrder()) == [] as Set > assert d.xor(e, String.CASE_INSENSITIVE_ORDER) == ['c', 'D'] as Set > assert d.xor(e, Comparator.naturalOrder()) == ['a', 'B', 'c', 'A', 'b', 'D'] > as Set > {code} > A [Pull Request|https://github.com/apache/groovy/pull/1915] exists that > implements the desired additions for the 5.x groovy branch (master), but it > should be fairly easy to make the functionality available in 4.x if desired. -- This message was sent by Atlassian Jira (v8.20.10#820010)