[ https://issues.apache.org/jira/browse/GROOVY-11654?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King updated GROOVY-11654: ------------------------------- Description: When creating potential examples for the Groovy 5 release notes, I created this example: {code:groovy} // keep top 5 scores in top array int[] scores = [56, 82, 70, 74, 63, 92, 49, 69, 85, 79, 80, 82, 99, 95] int[] top = scores[0..4].sort() scores[5..-1].each { next -> def ins = top.partitionPoint{ it < next } - 1 if (ins > 0) { System.arraycopy(top, 1, top, 0, ins) // top[0..<ins] = top[1..ins] } if (ins >= 0) { top[ins] = next } } assert top == [82, 85, 92, 95, 99] {code} The {{System.arraycopy()}} line would be {{top[0..<ins] = top[1..ins]}} if using lists. It would be nice if arrays supported putAt and that line didn't need to change. was: When creating potential examples for the Groovy 5 release notes, I created this example: {code:groovy} // keep top 5 scores in top array int[] scores = [56, 82, 70, 74, 63, 92, 49, 69, 85, 79, 80, 82, 99, 95] int[] top = scores[0..4].sort() scores[5..-1].each { next -> def ins = top.partitionPoint{ it < next } - 1 if (ins > 0) { System.arraycopy(top, 1, top, 0, ins) } if (ins >= 0) { top[ins] = next } } assert top == [82, 85, 92, 95, 99] {code} The {{System.arraycopy()}} line would be {{top[0..<ins] = top[1..ins]}} if using lists. It would be nice if arrays supported putAt and that line didn't need to change. > Create AGM#putAt variants > ------------------------- > > Key: GROOVY-11654 > URL: https://issues.apache.org/jira/browse/GROOVY-11654 > Project: Groovy > Issue Type: New Feature > Reporter: Paul King > Assignee: Paul King > Priority: Major > > When creating potential examples for the Groovy 5 release notes, I created > this example: > {code:groovy} > // keep top 5 scores in top array > int[] scores = [56, 82, 70, 74, 63, 92, 49, 69, 85, 79, 80, 82, 99, 95] > int[] top = scores[0..4].sort() > scores[5..-1].each { next -> > def ins = top.partitionPoint{ it < next } - 1 > if (ins > 0) { > System.arraycopy(top, 1, top, 0, ins) > // top[0..<ins] = top[1..ins] > } > if (ins >= 0) { > top[ins] = next > } > } > assert top == [82, 85, 92, 95, 99] > {code} > The {{System.arraycopy()}} line would be {{top[0..<ins] = top[1..ins]}} if > using lists. It would be nice if arrays supported putAt and that line didn't > need to change. -- This message was sent by Atlassian Jira (v8.20.10#820010)