Skip to content

Instantly share code, notes, and snippets.

@krisleech
Created June 18, 2019 07:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save krisleech/d38009f80064051c1ab6a60a3d90adcb to your computer and use it in GitHub Desktop.
Save krisleech/d38009f80064051c1ab6a60a3d90adcb to your computer and use it in GitHub Desktop.
sort, drop, take #ruby
[1,2,3,4,5,6,7].drop(2) # => [3,4,5,6,7]
[1,2,3,4,5,6,7].take(2) # => [1,2]
[1,2,3,4,5,6,7].reverse.take(2) # => [5,7]
[1,2,3,4,5,6,7].reverse.drop(2) # => [5, 4, 3, 2, 1]
# sorting asc and desc
[1,2,3].shuffle.sort == [1,2,3] # => true
[1,2,3].shuffle.sort.reverse == [3,2,1] # => true
[1,2,3].shuffle.sort { |a,b| a <=> b } == [1,2,3].shuffle.sort # => true
[1,2,3].shuffle.sort { |a,b| b <=> a } == [1,2,3].shuffle.sort.reverse # => true
reverse_order = lambda { |a,b| b <=> a }
[1,2,3].shuffle.sort(&reverse_order) == [1,2,3].shuffle.sort.reverse # => true
# getting N smallest numbers
n = 5
[1,2,3,4,5,6,7].shuffle.sort { |a,b| b <=> a }.drop(n) # => [5,4,3,2,1]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment