def stampa_partenze(stazione)
partenze={}
for el in @nome_citta
for i in 0…el[1].length-1
if el[1][i]==stazione
partenze[el[0]]=@nome_orari[el[0]][i]
end
end
end
end
dove @nome_citta è un hash avete come chiave il nome di un treno e come
valore un elenco di cittÃ
@nome_citta[nome_treno]=lista_fermate
non riesco assolutamente a capire tutte quelle parentesi quadre di
stampa_partenze…
el[1][i]
cosa vuol dire?
e anche questo:
partenze[el[0]]=@nome_orari[el[0]][i]
potete spiegarmelo in parole povere?
Grazie mille a tutti!
def stampa_partenze(stazione)
partenze={}
for el in @nome_citta
for i in 0…el[1].length-1
if el[1][i]==stazione
partenze[el[0]]=@nome_orari[el[0]][i]
end
end
end
end
dove @nome_citta è un hash avete come chiave il nome di un treno e come
valore un elenco di cittÃ
@nome_citta[nome_treno]=lista_fermate
non riesco assolutamente a capire tutte quelle parentesi quadre di
stampa_partenze…
el[1][i]
cosa vuol dire?
e anche questo:
partenze[el[0]]=@nome_orari[el[0]][i]
potete spiegarmelo in parole povere?
Grazie mille a tutti!
Per gestire gli hash ti conviene usare each:
hash.each do |chiave, valore|
…
end
Per gli array puoi sempre fare lo stesso:
array.each do |valore|
…
end
In questo modo dovrebbe essere tutto più semplice. Con il for nella
variabile hai un array contenente chiave e valore ([chiave,valore]), più
scomodo da decifrare.
Tradotto in linguaggio più semplice, dunque:
def stampa_partenze(stazione)
partenze={} @nome_citta.each do |nome, elenco|
for i in 0…elenco.length-1
if elenco[i]==stazione
partenze[nome]=@nome_orari[nome][i]
end
end
end
end
Inoltre ti consiglierei un “return partenze” alla fine del metodo, sennò
non avrebbe utilità .
Grazie ma non ho ancora capito il significato della quadre…
cosa vuol dire questo?
partenze[nome]=@nome_orari[nome][i]
Ancora grazie!
Simone Scalabrino wrote:
Per gestire gli hash ti conviene usare each:
hash.each do |chiave, valore|
…
end
Per gli array puoi sempre fare lo stesso:
array.each do |valore|
…
end
In questo modo dovrebbe essere tutto più semplice. Con il for nella
variabile hai un array contenente chiave e valore ([chiave,valore]), più
scomodo da decifrare.
Tradotto in linguaggio più semplice, dunque:
def stampa_partenze(stazione)
partenze={} @nome_citta.each do |nome, elenco|
for i in 0…elenco.length-1
if elenco[i]==stazione
partenze[nome]=@nome_orari[nome][i]
end
end
end
end
Inoltre ti consiglierei un “return partenze” alla fine del metodo, sennò
non avrebbe utilità .
Grazie ma non ho ancora capito il significato della quadre…
cosa vuol dire questo?
partenze[nome]=@nome_orari[nome][i]
Ancora grazie!
Simone Scalabrino wrote:
Per gestire gli hash ti conviene usare each:
hash.each do |chiave, valore|
…
end
Per gli array puoi sempre fare lo stesso:
array.each do |valore|
…
end
In questo modo dovrebbe essere tutto più semplice. Con il for nella
variabile hai un array contenente chiave e valore ([chiave,valore]), più
scomodo da decifrare.
Tradotto in linguaggio più semplice, dunque:
def stampa_partenze(stazione)
partenze={} @nome_citta.each do |nome, elenco|
for i in 0…elenco.length-1
if elenco[i]==stazione
partenze[nome]=@nome_orari[nome][i]
end
end
end
end
Inoltre ti consiglierei un “return partenze” alla fine del metodo, sennò
non avrebbe utilità .
Le quadre servono a richiamare un determinato elemento di un array o un
hash. Ad esempio, in un hash fatto così:
“a”=>“ciao”
“b”=>“prova”
“c”=>“ruby”
se scrivi hash[“a”] avrai come risultato “ciao” etc. Idem per gli array:
0=>“prova”
1=>“vero”
2=>“falso”
con array[1] avrai “vero”.
Per quanto riguarda “@nome_orari”, dev’essere una matrice, formata in
questo modo:
0=>[]
1=>[]
2=>[]
Array di array praticamente. Richiamando l’elemento 0, non otterremo un
numero o una stringa, ma un ulteriore array, da cui possiamo prendere
l’elemento usando ancora le quadre. Ad esempio:
usando array[1] otterremo [“quattro”,“cinque”,“sei”]. Se a noi serve
“cinque”, possiamo prendere l’elemento “1” (ricorda, gli array partono
da 0), quindi faremo:
array[1][1]
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.