YAML - Rientro e separazione
Il rientro e la separazione sono due concetti principali quando impari qualsiasi linguaggio di programmazione. Questo capitolo parla in dettaglio di questi due concetti relativi a YAML.
Rientro di YAML
YAML non include spazi obbligatori. Inoltre, non è necessario essere coerenti. Il rientro YAML valido è mostrato di seguito:
a:
b:
- c
- d
- e
f:
"ghi"
Dovresti ricordare le seguenti regole mentre lavori con l'indentazione in YAML: I blocchi di flusso devono essere intesi con almeno alcuni spazi con il livello di blocco corrente circostante.
Il contenuto di flusso di YAML si estende su più righe. L'inizio del contenuto del flusso inizia con{ o [.
Gli elementi dell'elenco di blocco includono lo stesso rientro del livello di blocco circostante perché - è considerato come parte del rientro.
Esempio di blocco previsto
Osserva il codice seguente che mostra il rientro con esempi:
--- !clarkevans.com/^invoice
invoice: 34843
date : 2001-01-23
bill-to: &id001
given : Chris
family : Dumars
address:
lines: |
458 Walkman Dr.
Suite #292
city : Royal Oak
state : MI
postal : 48046
ship-to: *id001
product:
- sku : BL394D
quantity : 4
description : Basketball
price : 450.00
- sku : BL4438H
quantity : 1
description : Super Hoop
price : 2392.00
tax : 251.42
total: 4443.52
comments: >
Late afternoon is best.
Backup contact is Nancy
Billsmer @ 338-4338.
Separazione di stringhe
Le stringhe vengono separate utilizzando una stringa tra virgolette. Se esegui l'escape dei caratteri di nuova riga in una determinata stringa, viene completamente rimosso e tradotto in valore di spazio.
Esempio
In questo esempio abbiamo focalizzato un elenco di animali elencati come una struttura di array con tipo di dati stringa. Ogni nuovo elemento è elencato con un prefisso di trattino come indicato come prefisso.
-
- Cat
- Dog
- Goldfish
-
- Python
- Lion
- Tiger
Un altro esempio per spiegare la rappresentazione delle stringhe in YAML è menzionato di seguito.
errors:
messages:
already_confirmed: "was already confirmed, please try signing in"
confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
expired: "has expired, please request a new one"
not_found: "not found"
not_locked: "was not locked"
not_saved:
one: "1 error prohibited this %{resource} from being saved:"
other: "%{count} errors prohibited this %{resource} from being saved:"
Questo esempio si riferisce alla serie di messaggi di errore che un utente può utilizzare menzionando semplicemente l'aspetto chiave e per recuperare i valori di conseguenza. Questo modello di YAML segue la struttura di JSON che può essere compresa dall'utente che è nuovo in YAML.