loading...

Array manipulation tricks in Ruby

prathamesh profile image Prathamesh Sonpatki ・1 min read

Let's say we have an array and we do not want the first element of the array. Ruby provides a method Array#drop which removes the elements from the array and returns the result.

>> args = [1,2,3,4]
=> [1, 2, 3, 4]
>> args.drop(1)
=> [2, 3, 4]

Good thing about this method is that it does not manipulate the original array.

>> args = [1,2,3,4]
=> [1, 2, 3, 4]
>> args.drop(1)
=> [2, 3, 4]
>> args
=> [1, 2, 3, 4]

If we don't want first two elements of the array, we can pass two as the argument to drop.

>> args = [1,2,3,4]
=> [1, 2, 3, 4]
>> args.drop(2)
=> [3, 4]

Ruby also has a method Array#drop_while which drops elements up to, but not including the first element for which the predicate returns false or nil.

>> args
=> [1, 2, 3, 4]
>> args.drop_while { |a| a < 3 }
=> [3, 4]
>>

This method is useful when you know for certain that you don't want certain elements from the start of the array.

Ruby also has Array#take and Array#take_while which return the elements from the start based on the argument.

>> args
=> [1, 2, 3, 4]
>> args.take_while { |a| a < 3 }
=> [1, 2]
>> args.take(2)
=> [1, 2]

Follow me on Twitter to know more tips and tricks about Ruby 😄

Posted on by:

prathamesh profile

Prathamesh Sonpatki

@prathamesh

Prathamesh Sonpatki is consultant experienced in Ruby, Ruby on Rails.

Discussion

pic
Editor guide