Menu
Coddy logo textTech

Metodi degli intervalli

Fa parte della sezione Logica e flusso del percorso Ruby di Coddy. Lezione 7 di 56.

Gli intervalli offrono metodi pratici che ti evitano di scrivere cicli a mano.

include? verifica se un valore rientra nell'intervallo:

range = 1..10
puts range.include?(5)   # true
puts range.include?(11)  # false

min, max e size funzionano direttamente sugli intervalli:

puts (1..10).min   # 1
puts (1..10).max   # 10
puts (1..10).size  # 10

step itera nell'intervallo saltando di una quantità fissa, utile quando non vuoi ogni valore:

(0..10).step(2) do |n|
  puts n
end
# 0, 2, 4, 6, 8, 10

E each funziona proprio come con gli array:

(1..3).each { |n| puts n * n }
# 1
# 4
# 9
challenge icon

Sfida

Facile

Ti vengono dati un intervallo inclusivo e un elenco di tentativi. Assegna un punteggio ai tentativi e riepiloga l'intervallo.

Leggi due righe:

  1. Due numeri interi separati da uno spazio: start e end_value
  2. Un elenco di tentativi interi separati da virgole

Usando l'intervallo start..end_value, stampa:

  1. Hit: <n>, dove n è il numero di tentativi che rientrano nell'intervallo (usa include?)
  2. Span: <n>, dove n è la size dell'intervallo
  3. Multiples of 3 sum: <n>, dove n è la somma di tutti i multipli di 3 nell'intervallo (usa step partendo dal primo multiplo di 3 uguale o maggiore di start)

Con 1 10 come prima riga e 3,5,11,7,-2 come seconda, l'output è:

Hit: 3
Span: 10
Multiples of 3 sum: 18

(Tentativi validi: 3, 5, 7. Multipli di 3 in 1..10: 3+6+9 = 18.)

Provalo tu

start, end_value = gets.chomp.split.map(&:to_i)
guesses = gets.chomp.split(",").map(&:to_i)

# TODO: Conta le corrispondenze con include?, calcola l'ampiezza con size e la somma dei multipli di 3 con step
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Ruby online