Menu
Coddy logo textTech

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, cherry

Questo 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, completed

Per 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, 5

Puoi anche usare l'operatore splat * tra parentesi quadre di un array:

countdown = [*5..10]
puts countdown  # Stampa: 5, 6, 7, 8, 9, 10

Queste scorciatoie sono particolarmente utili quando devi definire rapidamente un elenco di valori noti senza l'ingombro visivo di virgolette e virgole.

challenge icon

Sfida

Facile

Leggi due input:

  1. Una singola riga di parole separate da spazi (ad es., red green blue yellow)
  2. Due numeri interi separati da una virgola che rappresentano un intervallo (ad es., 3,7)

Esegui le seguenti operazioni:

  1. Crea un array di stringhe dal primo input usando la sintassi abbreviata %w. Poiché l'input è già una stringa, dovrai prima usare split per convertirlo in un array, quindi mostra %w creando un array separato con le parole alpha, beta, gamma.
  2. Crea un array di simboli usando %i con i valori start, middle, end.
  3. 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:

  1. Ogni elemento dell'array di parole dell'input
  2. Una riga vuota
  3. Ogni elemento dell'array %w (alpha, beta, gamma)
  4. Una riga vuota
  5. Ogni elemento dell'array di simboli %i
  6. Una riga vuota
  7. 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
5

Se 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
13

Provalo 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 array
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 Fondamenti

Esercitati da solo: Compilatore Ruby online