Menu
Coddy logo textTech

Simboli come chiavi degli hash

Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 78 di 88.

Finora hai usato le stringhe come chiavi degli hash con la sintassi della freccia hash. Tuttavia, gli sviluppatori Ruby usano comunemente i simboli come chiavi, un approccio più pulito ed efficiente.

Ricordi i simboli visti in precedenza? Sono identificatori leggeri e immutabili che iniziano con i due punti. Quando usi i simboli come chiavi, Ruby mette a disposizione una sintassi abbreviata speciale:

person = {name: "Alice", age: 25, city: "Paris"}

puts person  # Produce: {:name=>"Alice", :age=>25, :city=>"Paris"}

Nota come name: sostituisce :name =>. Questa forma abbreviata funziona solo quando la chiave è un simbolo. Per accedere ai valori, usa il simbolo tra parentesi quadre:

person = {name: "Alice", age: 25}

puts person[:name]  # Stampa: Alice
puts person[:age]   # Stampa: 25

Aggiungere e modificare le voci funziona allo stesso modo:

person = {name: "Alice"}

person[:city] = "Paris"
person[:name] = "Bob"

puts person  # Mostra: {:name=>"Bob", :city=>"Paris"}

I simboli sono preferiti come chiavi hash perché sono più veloci da confrontare rispetto alle stringhe e usano meno memoria. Vedrai questo schema in tutto il codice Ruby, quindi vale la pena prenderci confidenza.

challenge icon

Sfida

Facile

Leggi tre righe di input:

  1. Una marca di auto (stringa)
  2. Il nome di un modello (stringa)
  3. Un anno (intero)

Crea un hash chiamato car usando la sintassi abbreviata dei simboli (ad es. key: value) con le seguenti coppie chiave-valore:

  • :brand associata alla marca dell'auto
  • :model associata al nome del modello
  • :year associata all'anno (come intero)

Poi esegui queste operazioni:

  1. Stampa il valore della chiave :model
  2. Aggiungi una nuova chiave :color con il valore "black"
  3. Aggiorna la chiave :year aggiungendo 1 al suo valore attuale
  4. Stampa l'hash finale

Ad esempio, se gli input sono Toyota, Camry e 2020, l'output dovrebbe essere:

Camry
{:brand=>"Toyota", :model=>"Camry", :year=>2021, :color=>"black"}

Se gli input sono Honda, Civic e 2018, l'output dovrebbe essere:

Civic
{:brand=>"Honda", :model=>"Civic", :year=>2019, :color=>"black"}

Se gli input sono Ford, Mustang e 2023, l'output dovrebbe essere:

Mustang
{:brand=>"Ford", :model=>"Mustang", :year=>2024, :color=>"black"}

Provalo tu

# Leggi l'input
brand = gets.chomp
model = gets.chomp
year = gets.chomp.to_i

# TODO: Scrivi il tuo codice qui sotto
# 1. Crea un hash chiamato 'car' usando la sintassi abbreviata dei simboli con le chiavi :brand, :model e :year

# 2. Stampa il valore della chiave :model

# 3. Aggiungi una nuova chiave :color con il valore "black"

# 4. Aggiorna la chiave :year aggiungendo 1 al suo valore attuale

# 5. Stampa l'hash finale
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