ExpertiDict

Ruby · Essencial · Inglês · Técnico

select

/səˈlɛkt/método

Método que devolve um novo array só com os elementos para os quais o bloco retorna valor verdadeiro. Em hashes, devolve um hash filtrado.

Onde usar

Aparece em filtros de coleções em memória, como pegar só os pedidos pagos. No ActiveRecord, select com argumentos tem outro papel: escolhe colunas do SQL.

Em código

pares = (1..6).select { |n| n.even? }
p pares  # => [2, 4, 6]
h = { a: 1, b: 5 }
p h.select { |_k, v| v > 2 }.keys
# => [:b]

Exemplos

Select only the orders that were paid.

Selecione só os pedidos que foram pagos.

Select with a block filters in memory, not in the database.

Select com bloco filtra em memória, não no banco.

Cuidado

Não o confunda com reject, que faz o contrário, nem com find, que devolve só o primeiro elemento que casar.

Sinônimos

filter

Antônimos

reject

Veja também

Todos os termos de Ruby