ExpertiDict

Ruby · Essencial · Inglês · Técnico

Range

/ɹeɪndʒ/substantivo

Objeto que representa um intervalo de valores, criado com .. (inclui o fim) ou ... (exclui o fim). Serve para iterar, testar pertencimento e fatiar arrays e strings.

Onde usar

Aparece em case when, em fatias como lista[1..3] e em laços como (1..5).each. Confundir .. com ... é fonte clássica de bug de off-by-one.

Em código

inc = 1..3
exc = 1...3
p inc.to_a  # => [1, 2, 3]
p exc.to_a  # => [1, 2]
p inc.cover?(2)  # => true
letras = %w[a b c d e]
p letras[1..3]  # => ["b", "c", "d"]

Exemplos

Use a range to slice the first three items.

Use um range para fatiar os três primeiros itens.

Three dots exclude the last number of the range.

Três pontos excluem o último número do range.

Cuidado

Não confunda os pontos: 1..3 inclui o 3, enquanto 1...3 para antes dele.

Sinônimos

intervalo

Veja também

Todos os termos de Ruby