Intervalos em Ruby (Range)
Intervalos são um tipo de dados especial em Ruby que representa uma sequência de valores. Eles são uma ferramenta poderosa para iterar uma série de valores e gerar arrays.
Criando intervalos: Link to heading
- Eles são declarados usando dois pontos (..) entre dois valores.
- O primeiro valor é o limite inferior do intervalo.
- O segundo valor é o limite superior do intervalo.
- A gama inclui ambos os limites.
Exemplo: Link to heading
(1..6) # Faixa de 1 a 6 inclusive
Conversão para matrizes: Link to heading
- Eles podem ser convertidos em arrays usando o método to_a.
- Isso pode ser útil para trabalhar com valores de intervalo em outras estruturas de dados.
Exemplo: Link to heading
(1..6).to_a # => [1, 2, 3, 4, 5, 6]
Gamas exclusivas: Link to heading
- Faixas exclusivas podem ser criadas usando três pontos (…).
- O intervalo não inclui o limite superior.
Exemplo: Link to heading
(1...6) # Faixa de 1 a 5 (não incluindo 6)
Intervalos com letras: Link to heading
Os intervalos podem ser criados com letras ou qualquer outro caractere.
Exemplo: Link to heading
("a".."z").to_a # => ["a", "b", "c", ..., "y", "z"]
Iteração em intervalos: Link to heading
each pode ser usado para iterar sobre os valores do intervalo.
Exemplo: Link to heading
(1..6).each do |x|
puts x
end
Operações com intervalos: Link to heading
- Operações matemáticas podem ser realizadas com intervalos.
- O resultado será um novo intervalo com os valores modificados.
Exemplo: Link to heading
(1..6) + 5 # => (6..11)
Em resumo, os intervalos são uma ferramenta versátil para trabalhar com sequências de valores em Ruby. A sua simplicidade e eficiência fazem deles uma parte fundamental da linguagem.
Continue aprendendo sobre as faixas para aproveitar ao máximo seus benefícios em seus programas!
Dicas adicionais: Link to heading
- Você pode usar o operador & para cruzar dois intervalos.
- Você pode usar o operador | para juntar dois intervalos.
- Você pode usar o método include? para verificar se um valor está dentro de um intervalo.
Exemplo: Link to heading
(1..5) & (3..7) # => (3..5)
(1..5) | (3..7) # => (1..7)
(1..5).include?(3) # => true
Continue experimentando faixas para criar programas mais eficientes e expressivos!