У меня есть массив, допустим, 500 элементов. Я знаю, что я могу выбрать первые 100, выполнив .first(100)
, мой вопрос: как выбрать элементы от 100 до 200?
Как выбрать элементы массива в заданном диапазоне в Ruby?
Ответ 1
Вы можете использовать диапазоны в индексе массива:
arr[100..200]
Ответ 2
Вы можете сделать это следующим образом:
array[100..200] # returns the elements in range 100..200
# or
array[100,100] # returns 100 elements from position 100
Ответ 3
Ответ dvcolgans прав, но похоже, что вы пытаетесь разбить свой массив на группы по 100. Если это так, то для этого удобный встроенный метод:
nums = (1..500).to_a
nums.each_slice(100) do |slice|
puts slice.size
end
# => 100, 100, 100, 100, 100
Ответ 4
sample_array = (1..500).to_a
elements_100_to_200 = sample_array[100..200]
Вы можете передать диапазон в качестве индекса в массив и получить подмашину с запрошенными элементами из этого поддиапазона.
Ответ 5
new_array = old_array.first(200) - old_array.first(100)