Method: Enumerable#grep

Defined in:
enum.c

#grep(pattern) ⇒ Array #grep(pattern) {|element| ... } ⇒ Array

Returns an array of objects based elements of self that match the given pattern.

With no block given, returns an array containing each element for which pattern === element is true:

a = ['foo', 'bar', 'car', 'moo']
a.grep(/ar/)                   # => ["bar", "car"]
(1..10).grep(3..8)             # => [3, 4, 5, 6, 7, 8]
['a', 'b', 0, 1].grep(Integer) # => [0, 1]

With a block given, calls the block with each matching element and returns an array containing each object returned by the block:

a = ['foo', 'bar', 'car', 'moo']
a.grep(/ar/) {|element| element.upcase } # => ["BAR", "CAR"]

Related: #grep_v.

Overloads:

  • #grep(pattern) ⇒ Array

    Returns:

  • #grep(pattern) {|element| ... } ⇒ Array

    Yields:

    • (element)

    Returns:



172
173
174
175
176
# File 'enum.c', line 172

static VALUE
enum_grep(VALUE obj, VALUE pat)
{
    return enum_grep0(obj, pat, Qtrue);
}