Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 18 di 32
  • livello principiante
Indice lezioni

YAML

Il formato più usato per i file di configurazione come alternativa ad XML
Il formato più usato per i file di configurazione come alternativa ad XML
Link copiato negli appunti

Abbiamo già affrontato YAML nella prima guida durante la costruzione dell'applicazione di esempio. Riprendiamo ora quanto già detto e approfondiamo il discorso introducendo nuove funzionalità.

YAML, che sta per "YAML Ain't Markup Language", è un linguaggio per la rappresentazione delle informazioni. Nasce come risposta, leggera e leggibile, a XML ed è molto utilizzato nel mondo Ruby soprattutto per la costruzione di file di configurazione. A differenza del XML, per definire delle strutture, non si utilizzano i tag annidati, bensì gli spazi dell'indentazione.

I file in formato YAML sono semplici file di testo molto leggibili e, grazie al metodo to_yaml, possiamo rappresentare in questo formato anche le strutture dati Ruby. Vediamo ad esempio come viene rappresentato un hash in YAML:

>> utenti = [{:username => 'gls', :shell => ['tcsh', 'bash']},
             {:username => 'root', :shell => ['csh']}]
>> utenti.to_yaml
--- 
- :username: gls
  :shell: 
  - tcsh
  - bash
- :username: root
  :shell: 
  - csh

YAML risulta particolarmente utile per la serializzazione dei dati, per le operazioni di lettura e scrittura su file YAML vanno utilizzati rispettivamente i metodi load e dump.

Nel codice che segue YAML.dump scrive l'hash in formato YAML sul file "utenti.yaml", e YAML.load legge il file e ritrasforma il codice YAML di nuovo in hash.

require 'yaml'

utenti = [{:username => 'gls', :shell => ['tcsh', 'bash']},
          {:username => 'root', :shell => ['csh']}]

open('utenti.yaml', 'w') { |file| YAML.dump(utenti, file) }
utenti_riletti = open("utenti.yaml") { |file| YAML.load(file) } 


Ti consigliamo anche