How to select array elements in a given range in Ruby?

前端 未结 5 1169
傲寒
傲寒 2021-02-05 03:21

I have an array with let\'s say, 500 elements. I know I can select the first 100 by doing .first(100), my question is how do I select elements from 100 to 200?

相关标签:
5条回答
  • 2021-02-05 03:47
    new_array = old_array.first(200) - old_array.first(100)
    
    0 讨论(0)
  • 2021-02-05 03:53

    dvcolgan’s answer is right, but it sounds like you might be trying to break your array into groups of 100. If that’s the case, there’s a convenient built-in method for that:

    nums = (1..500).to_a
    
    nums.each_slice(100) do |slice|
      puts slice.size
    end
    
    # => 100, 100, 100, 100, 100
    
    0 讨论(0)
  • 2021-02-05 04:02

    You can do it like this:

    array[100..200] # returns the elements in range 100..200
    # or
    array[100,100] # returns 100 elements from position 100
    

    More Information

    0 讨论(0)
  • 2021-02-05 04:05

    You can use ranges in the array subscript:

    arr[100..200]
    
    0 讨论(0)
  • 2021-02-05 04:11
    sample_array = (1..500).to_a
    elements_100_to_200 = sample_array[100..200]
    

    You can pass a range as index to an array and get a subarray with the queried elements from that subrange.

    0 讨论(0)
提交回复
热议问题