Ruby · Essencial · Inglês · Técnico
Range
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