Scorciatoie per gli array
Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 64 di 88.
Ruby offre scorciatoie pratiche per creare array, soprattutto quando lavori con stringhe o numeri sequenziali. Queste scorciatoie fanno risparmiare tempo e rendono il tuo codice più pulito.
La sintassi %w crea un array di stringhe senza bisogno di virgolette o virgole:
fruits = %w[apple banana cherry]
puts fruits # Stampa: apple, banana, cherryQuesto equivale a scrivere ["apple", "banana", "cherry"], ma in modo molto più conciso. Ogni parola separata da uno spazio diventa un elemento distinto.
Per gli array di simboli, usa %i:
statuses = %i[pending active completed]
puts statuses # Stampa: pending, active, completedPer creare array di numeri sequenziali, puoi convertire un intervallo in un array usando to_a:
numbers = (1..5).to_a
puts numbers # Stampa: 1, 2, 3, 4, 5Puoi anche usare l'operatore splat * tra parentesi quadre di un array:
countdown = [*5..10]
puts countdown # Stampa: 5, 6, 7, 8, 9, 10Queste scorciatoie sono particolarmente utili quando devi definire rapidamente un elenco di valori noti senza l'ingombro visivo di virgolette e virgole.
Sfida
FacileLeggi due input:
- Una singola riga di parole separate da spazi (ad es.,
red green blue yellow) - Due numeri interi separati da una virgola che rappresentano un intervallo (ad es.,
3,7)
Esegui le seguenti operazioni:
- Crea un array di stringhe dal primo input usando la sintassi abbreviata
%w. Poiché l'input è già una stringa, dovrai prima usaresplitper convertirlo in un array, quindi mostra%wcreando un array separato con le parolealpha,beta,gamma. - Crea un array di simboli usando
%icon i valoristart,middle,end. - Crea un array di numeri consecutivi a partire dall'intervallo fornito nel secondo input usando l'operatore splat
*all'interno delle parentesi quadre dell'array.
Stampa quanto segue su righe separate:
- Ogni elemento dell'array di parole dell'input
- Una riga vuota
- Ogni elemento dell'array
%w(alpha, beta, gamma) - Una riga vuota
- Ogni elemento dell'array di simboli
%i - Una riga vuota
- Ogni elemento dell'array dell'intervallo numerico
Ad esempio, se gli input sono red green blue e 1,5, l'output dovrebbe essere:
red
green
blue
alpha
beta
gamma
start
middle
end
1
2
3
4
5Se gli input sono sun moon star e 10,13, l'output dovrebbe essere:
sun
moon
star
alpha
beta
gamma
start
middle
end
10
11
12
13Provalo tu
# Leggi le parole separate da spazi
words_input = gets.chomp
# Leggi l'intervallo (due numeri interi separati da una virgola)
range_input = gets.chomp
# TODO: Scrivi il tuo codice qui sotto
# 1. Crea un array da words_input usando split
# 2. Crea un array %w con alpha, beta, gamma
# 3. Crea un array %i con start, middle, end
# 4. Analizza l'intervallo e crea un array usando l'operatore splat (*)
# Stampa gli elementi di ogni array su righe separate, lasciando righe vuote tra gli arrayQuesta lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatori logici Parte 47Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire input dall'utente10FizzBuzz con un colpo di scena
Panoramica del giocoIl metodo FizzBuzz2Variabili e tipi di dato
Numeri e variabiliTipo di dato stringaTipo di dato booleanoTipo di dato SymbolVerifica dei tipi di datoConvenzioni di denominazioneRiepilogo - Creazione di variabili5Strutture decisionali
Istruzione ifIf-ElseRipasso - Calcolatrice sempliceIf-Else annidatoIstruzione unless8Cicli
Ciclo for con intervalliCiclo whilebreaknextRiepilogo - FattorialeCiclo timesCiclo untilCicli annidatiRiepilogo - Input dinamico3Operatori, parte 1
Operatori aritmeticiOperatore moduloScorciatoie aritmeticheRipasso: matematica sempliceOperatori di confronto6Input/Output di base
Output con putsOutput con print e pOutput con variabiliInput con getsMetodo chompConversione di tipoRipasso - Calcolatore dell'etàRipasso - Vero o falsoEsercitati da solo: Compilatore Ruby online