We will be discussing some built-in functions in Ruby.Most of them are used to fix the logical challenges in Ruby Programing.
select
- used to filter the collections.
- return type will be an array
1
2
3
| [1, 2, 3, 4, 5].select{ |i| i > 3 }
#=> [4, 5]
|
detect
- will return the first matched value
- returned value will be a single element
[1, 2, 3, 4, 5].detect{ |i| i > 3 }
#=> 4
reject
- will be the opposite of the select
- will be an array
1
2
3
| [1, 2, 3, 4, 5].reject{ |i| i > 3 }
#=> [1, 2, 3]
|
equality operator
- denoted by ===
- more used in the case of Reg ex and range
(1..3) === 2
#=> true
(1..3) === 4
#=> false
/el/ === 'Hello World'
#=> false
- LHS should be Range or REGEX and RHS will be the specific object.
grep
- same use in the case of grep
1
2
3
| [6, 14, 28, 47, 12].grep(5..15)
#=> [6, 14, 12]
|
- we have an array like [1, ‘a’, ‘b’, 2]
- if we do the
[1, 'a', 'b', 2].map(&:upcase)
- will raise an error
- we can fix those by grep
1
2
3
| [1, 'a', 'b', 2].grep(String, &:upcase)
#=> ['A', 'B']
|
sort
- if we have integer and strings in the array .sort command will fail.
- we can clear this issue by using the sort_by method.
1
2
3
| ['5', '2', 3, '1'].sort_by(&:to_i)
#=> ['1', '2', 3, '5']
|
all?
- return true if all values are true
1
2
3
| [2, 4, 6, 8].all?(&:even?)
#=> true
|
any?
- return true if any of the value is true.
1
2
3
| [2, 3, 5, 9].any?(&:even?)
#=> true
|
reduce
- create a sum of the array
1
2
3
| [1, 2, 3].reduce(:+)
#=> 6
|
another interested methods are cycle, next, reverse_cycle