Groovy для Rubyists - #each_slice - PullRequest
       21

Groovy для Rubyists - #each_slice

0 голосов
/ 13 сентября 2018

В рубине у меня есть #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]]

1 Ответ

0 голосов
/ 14 сентября 2018

Вам нужно collate в заводной

(1..10).collate(3)
...