如何在Ruby中选择给定范围内的数组元素?

时间:2010-08-19 19:12:19

标签: ruby arrays

我有一个数组,让我们说,500个元素。我知道我可以通过.first(100)选择前100个,我的问题是如何选择100到200之间的元素?

5 个答案:

答案 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

More Information

答案 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)