У меня есть большой массив Ruby, который я бы разделил на меньшие массивы. Меня не волнует, сколько элементов в каждом массиве, скорее, я забочусь о том, сколько массивов я получаю. Я буду показывать элементы в столбцах. Например, как я могу разделить массив на два или три меньших массива?Как разбить массив Ruby на определенное количество меньших массивов?
1
A
ответ
3
Если вы используете Rails (вы не говорите), вы можете использовать in_groups
.
%w(1 2 3 4 5 6 7 8 9 10).in_groups(3) {|group| p group}
["1", "2", "3", "4"]
["5", "6", "7", nil]
["8", "9", "10", nil]
http://api.rubyonrails.org/classes/Array.html#method-i-in_groups
Или, если не рельсы, просто взять исходный код для этого метода ...
2
без перил, я хотел бы использовать each_slice
:
2.0.0p247 :006 > arr = %w(1 2 3 4 5 6 7 8 9 10)
=> ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]
2.0.0p247 :007 > n = 3 # how many arrays you want
=> 3
2.0.0p247 :009 > arr.each_slice((arr.size/n.to_f).ceil) {|slice| p slice };nil
["1", "2", "3", "4"]
["5", "6", "7", "8"]
["9", "10"]
=> nil
1
list = (1..10).to_a
nsublists = 3
sublists = []
list.each_slice((list.size.to_f/nsublists).ceil) { |slice| sublists << slice }
sublists # => [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10]]
Смежные вопросы
- 1. Как разбить массив на заданное количество меньших массивов?
- 2. Разбить текст равномерно на определенное количество строк
- 3. Как разбить массив на 2 разных массивов
- 4. Разделить 2D-массив в массив из нескольких меньших массивов?
- 5. Как разбить массив на разделители в Ruby?
- 6. Как разбить изображение на несколько меньших изображений
- 7. Как разбить массив в Ruby
- 8. Разбить массив на массив массивов на основе свойства элемента
- 9. Как разбить массив динамически в уникальных массивов
- 10. Как разбить x число целых чисел на y количество массивов?
- 11. Сплит массив в определенное количество chuncks
- 12. Ruby копировать массив массивов
- 13. Как построить большой 2d массив из множества меньших 2d массивов
- 14. Как разбить словарь на определенное число меньших словарей с помощью python?
- 15. Как разбить массив объектов на несколько массивов объектов по значению
- 16. Как разбить массив на несколько массивов с помощью LINQ?
- 17. Swift: Как разбить массив строк на несколько массивов совпадающего значения?
- 18. Как разбить массив на более мелкие массивы?
- 19. Как разбить многомерный массив на PHP?
- 20. Как ограничить массив и разбить его на большее количество массивов? PHP
- 21. Как разбить массив на блоки
- 22. Как можно разбить большой массив на меньшие массивы?
- 23. Как разбить многомерный массив массивов на несколько одиночных массивов в python?
- 24. Как разбить список на определенное значение
- 25. Как разбить (кусок) массив Ruby на части элементов X?
- 26. Как разбить массив на кучу строк в Ruby?
- 27. Как разбить координаты в строке на список меньших списков
- 28. Как разбить огромный файл service.cs на несколько меньших сервисов?
- 29. Как вы нажимаете определенное количество объектов на массив?
- 30. Как разбить строку на х количество символов
Ах, это на самом деле функциональность, которую я хочу. За исключением того, что я не хочу писать «ниль». Синтаксис, который я использовал, - 'in_groups (3, false)' – Andrew