Che cos'è un intervallo?
Fa parte della sezione Logica e flusso del percorso Ruby di Coddy. Lezione 6 di 56.
Hai già usato gli intervalli con i cicli for e le fette di array. Ma un intervallo è un vero oggetto Ruby, non solo sintassi: ha i propri metodi.
Creane uno con .. (due punti, inclusivo) o ... (tre punti, esclusivo del valore finale):
inclusive = 1..5 # 1, 2, 3, 4, 5
exclusive = 1...5 # 1, 2, 3, 4Converti un intervallo in un array con to_a per vedere esattamente cosa comprende:
puts (1..5).to_a.inspect # [1, 2, 3, 4, 5]
puts (1...5).to_a.inspect # [1, 2, 3, 4]Gli intervalli non sono solo per i numeri. Funzionano con qualsiasi cosa abbia un ordine, comprese le lettere:
puts ("a".."e").to_a.inspect # ["a", "b", "c", "d", "e"]Sfida
PrincipianteLeggi due numeri interi (due righe di input): un start e un end_value. Stampa tre righe:
- L'intervallo inclusivo
start..end_valuecome array (usainspect) - L'intervallo esclusivo
start...end_valuecome array - La dimensione dell'intervallo inclusivo
Per l'input 1 seguito da 5, l'output è:
[1, 2, 3, 4, 5]
[1, 2, 3, 4]
5Provalo tu
start = gets.to_i
end_value = gets.to_i
# TODO: stampa l'intervallo inclusivo, l'intervallo esclusivo e la dimensione inclusiva
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