Okay, quindi questo è un vostro diritto file YAML?
Company1:
name: Something1
established: 2000
Company2:
name: Something2
established: 1932
Okay ora questo file YAML rappresenta in realtà un hash. L'ha ha due chiavi: Azienda1, Azienda2 (perché sono le voci principali e le voci secondarie (nome e stabilito) sono rientrate sotto di esse). Il valore di queste due chiavi è di nuovo un Hash. Questo hash ha anche 2 chiavi, vale a dire il nome e stabilito. E hanno valori come Something1 e il 2000, rispettivamente, ecc
Così, quando lo fai,
config=YAML.load_file('file.yml')
e di configurazione di stampa (che è un hash che rappresenta il contenuto del file YAML) utilizzando,
puts config
ottieni l'output seguente:
{"Company1"=>{"name"=>"Something1", "established"=>2000}, "Company2"=>{"name"=>"Something2", "established"=>1932}}
Quindi abbiamo un oggetto hash come descritto da YAML file.
L'utilizzo di questo hash è piuttosto semplice.
Dal momento che il nome e l'anno di ciascuna società sono racchiusi in un hash separato detenuto dall'hash esterno (società1, società2), è possibile scorrere le società. Il seguente codice stampa l'hash.
config.each do |company,details|
puts company
puts "-------"
puts "Name: " + details["name"]
puts "Established: " + details["established"].to_s
puts "\n\n"
end
Quindi in Ogni iterazione otteniamo l'accesso a ciascuna (chiave, valore) dell'Hash. Questo a prima iterazione abbiamo company
(chiave) come Company1
e details
(value) come {"name"=>"Something1", "established"=>2000}
Spero che questo ha aiutato.
Ho scritto una risposta dettagliata, ma ho visto la risposta di Mori entrare. Questa risposta è probabilmente tutto ciò che devi sapere. A causa della mancanza di rientro nel tuo file YAML visualizzato, stavi semplicemente riassegnando la chiave (che deve essere unica) nello stesso Hash, e quindi vedevi questo comportamento. – vgoff
Apprezzo che tu mi possa aiutare con uno snippet di codice, ho ancora il problema. – newbi
Con ciò che hai imparato finora, dalle risposte date, puoi mostrare le tue modifiche e questo ci aiuterà ad aiutarti vedendo dove stai andando male. – vgoff