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.