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