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) # falsemin, max e size funzionano direttamente sugli intervalli:
puts (1..10).min # 1
puts (1..10).max # 10
puts (1..10).size # 10step 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, 10E each funziona proprio come con gli array:
(1..3).each { |n| puts n * n }
# 1
# 4
# 9Sfida
FacileTi vengono dati un intervallo inclusivo e un elenco di tentativi. Assegna un punteggio ai tentativi e riepiloga l'intervallo.
Leggi due righe:
- Due numeri interi separati da uno spazio:
starteend_value - Un elenco di tentativi interi separati da virgole
Usando l'intervallo start..end_value, stampa:
Hit: <n>, dovenè il numero di tentativi che rientrano nell'intervallo (usainclude?)Span: <n>, dovenè lasizedell'intervalloMultiples of 3 sum: <n>, dovenè la somma di tutti i multipli di 3 nell'intervallo (usasteppartendo dal primo multiplo di 3 uguale o maggiore distart)
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
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Le stringhe in dettaglio
Panoramica dei metodi delle stringheInterpolazione di stringheIterare sulle stringheDividere e unireRiepilogo - Tessitore di stringhe4Blocchi, Proc e Lambda
Che cos’è un Block?do..end vs parentesi graffeLa keyword yieldParametri del BlockProc e LambdaRiepilogo - Iteratore personalizzato7Hash in Ruby - Parte 2
Hash.new con valori predefinitiIterare sugli hashHash annidatiUnire e trasformareRipasso - Contatore di frequenza10Progetto - Registri degli studenti
Panoramica del progettoAggiungere uno studente2Intervalli
Che cos'è un intervallo?Metodi degli intervalliIntervalli in Case / WhenRiepilogo - Esercitarsi con gli intervalli5La potenza di Enumerable
Select e RejectConcatenare MapReduce / Injectcount, all?, any?, none?group_by e partitionsort_by, min_by, max_byRiepilogo - Pipeline di datiEsercitati da solo: Compilatore Ruby online