我有一个数组,让我们说,500个元素。我知道我可以通过.first(100)
选择前100个,我的问题是如何选择100到200之间的元素?
答案 0 :(得分:45)
您可以在数组下标中使用范围:
arr[100..200]
答案 1 :(得分:13)
你可以这样做:
array[100..200] # returns the elements in range 100..200
# or
array[100,100] # returns 100 elements from position 100
答案 2 :(得分:11)
dvcolgan的答案是正确的,但听起来你可能试图将你的数组分成100组。如果是这样的话,那就有一个方便的内置方法:
nums = (1..500).to_a
nums.each_slice(100) do |slice|
puts slice.size
end
# => 100, 100, 100, 100, 100
答案 3 :(得分:2)
sample_array = (1..500).to_a
elements_100_to_200 = sample_array[100..200]
您可以将范围作为索引传递给数组,并使用该子范围中查询过的元素获取子数组。
答案 4 :(得分:-3)
new_array = old_array.first(200) - old_array.first(100)