0Pricing
Ruby Academy · Aula

Criando intervalos

Intervalos inclusivos e exclusivos.

Criando intervalos é uma aula grátis de Ruby Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ruby Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ruby Academy inclui 4 aulas no total.

O que é um Intervalo?

Um intervalo representa uma sequência entre um valor inicial e um valor final. Escreva-o com dois pontos: 1..5.

r = 1..5
puts r
puts r.class

Intervalos Inclusivos

Dois pontos formam um intervalo inclusivo que inclui o valor final. 1..5 abrange 1, 2, 3, 4, 5.

puts (1..5).to_a.inspect

Intervalos Exclusivos

Três pontos formam um intervalo exclusivo que termina antes do valor final. 1...5 abrange 1, 2, 3, 4.

puts (1...5).to_a.inspect

Iterando sobre um Intervalo

Os intervalos respondem a each, então você pode percorrê-los diretamente sem convertê-los em uma lista.

(1..3).each { |n| puts "count #{n}" }

Intervalos de letras

Os intervalos também funcionam com letras. 'a'..'e' percorre o alfabeto.

puts ('a'..'e').to_a.inspect

Verificando a inclusão

include? e cover? testam se um valor está dentro de um intervalo. cover? é mais rápido para números.

r = 1..10
puts r.include?(5)
puts r.cover?(11)

Intervalos em instruções case

Os intervalos são especialmente úteis em instruções case, pois === verifica a inclusão.

score = 85
grade = case score
        when 90..100 then "A"
        when 80...90 then "B"
        else "C"
        end
puts grade

mínimo, máximo e sum

Os intervalos numéricos fornecem diretamente o min, o max e o sum.

r = 1..10
puts r.min
puts r.max
puts r.sum

Percorrendo um intervalo com step

step percorre um intervalo usando um incremento escolhido.

(0..10).step(2) { |n| print "#{n} " }
puts

Intervalos para obter fatias

Use um intervalo entre os colchetes de um vetor ou de uma cadeia de caracteres para obter uma fatia.

letters = %w[a b c d e]
puts letters[1..3].inspect
puts "hello"[0..2]

Intervalos infinitos

Omita o fim para criar um intervalo infinito, útil para obter os elementos até o final de um vetor.

nums = [10, 20, 30, 40]
puts nums[1..].inspect

Verificação rápida

Verifique sua compreensão sobre intervalos.

Recapitulação

Você aprendeu sobre intervalos:

  • 1..5 inclusivo versus 1...5 exclusivo
  • iterar com each e step
  • intervalos de letras e uso de case
  • min, max, sum, obtenção de fatias e intervalos infinitos

A seguir: o módulo Enumerable.

puts (1..100).sum

Perguntas Frequentes

A aula “Criando intervalos” é grátis?

Sim — o texto completo de “Criando intervalos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ruby Academy, atualize para CoddyKit PRO. O curso de Ruby Academy inclui 4 aulas no total.

O que vou aprender em “Criando intervalos”?

Intervalos inclusivos e exclusivos. Você pratica Ruby Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Ruby Academy?

Nenhuma experiência prévia é necessária. Ruby Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Criando intervalos”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Ruby Academy?

Sim. Cada aula de Ruby Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Criando intervalos
  2. O módulo Enumerable
  3. map, select, reject
  4. reduce e each_with_object
← Voltar para Ruby Academy