В рубине у меня есть #each_slice ...
(1..10).each_slice(3).to_a
=> [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
Я ищу элегантный способ сделать то же самое в Groovy, и это все, что я получил для новичка:
arr = []
list = (1..10) as Queue
while(!list.isEmpty()) {
sub_arr = []
3.times { sub_arr << list.poll() }
sub_arr.removeAll([null])
arr << sub_arr
}
arr
Result: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]