yaml
Uso di ancore e alias per contenuti esclusi
Ricerca…
Creazione di una tabella "Array of Dizionari" con ancore YAML come identificatori di riga
---
person_table:
- &person001
fname: homer
lname: simpson
role: dad
age: 33
- &person002
fname: marge
lname: simpson
role: mom
age: 34
- &person003
fname: peter
lname: griffin
role: dad
age: 34
Problema
- lo sviluppatore desidera esprimere una struttura di tabella in YAML, dove ogni riga è referenziata da un identificatore di riga compatto
Soluzione
- utilizzare gli ancoraggi YAML, assegnando un identificatore di ancoraggio a ciascuna riga nella tabella
- in YAML, gli "identificatori di transclusione" riutilizzabili sono chiamati ancore e alias
- in YAML, gli "identificatori di transclusione" riutilizzabili sono costituiti da token alfanumerici preceduti da una e commerciale o da un asterisco
Fondamento logico
- Ancoraggi e alias YAML consentono una maggiore normalizzazione dei dati
- Ancoraggi e alias YAML impongono
DRY(Non ripeterti) - in questo esempio, è possibile progettare e conservare una struttura di tabelle che coincide strettamente con un database
insidie
- Gli ancoraggi YAML devono essere dichiarati prima di poter essere referenziati tramite alias
- Le ancore YAML devono essere uniche in tutto il documento
- la mancata specificazione di ancoraggi unici causerà un errore su
yaml.load() - non tutti i parser YAML supportano in modo affidabile ancore e alias
Guarda anche
Utilizzo di alias YAML per il riferimento incrociato di righe da una tabella YAML
---
person_table:
- &person001
fname: homer
lname: simpson
role: dad
age: 33
- &person002
fname: marge
lname: simpson
role: mom
age: 34
- &person003
fname: peter
lname: griffin
role: dad
age: 34
motto_table:
- &motto001
person: *person001
motto: >
D'oh!! YAML is too complicated!
- &motto002
person: *person002
motto: >
Bart! Listen to your father!
- &motto003
person: *person003
motto: >
Hey! YAML is freakin' sweet!
Problema
- lo sviluppatore desidera fare il riferimento incrociato di righe-con-ancore da una tabella e collegarsi a esse con alias di righe in un'altra tabella
Soluzione
- usa gli alias YAML, che fissano le ancore predefinite da un'altra tabella
- in YAML, gli "identificatori di transclusione" riutilizzabili sono chiamati ancore e alias
- in YAML, gli "identificatori di transclusione" riutilizzabili sono costituiti da token alfanumerici preceduti da una e commerciale o da un asterisco
Fondamento logico
- Ancoraggi e alias YAML consentono una maggiore normalizzazione dei dati
- Ancoraggi e alias YAML impongono
DRY(Non ripeterti) - in questo esempio, è possibile progettare e conservare una struttura di tabelle che coincide strettamente con un database
- in questo esempio, è possibile ridurre l'immissione dei dati e le dimensioni dei file
insidie
- in questo specifico esempio,
yaml.load()produrrà dizionari nidificati- questo è indicato come "problema dei dizionari nidificati"
- sotto la coppia nome-valore persona, il valore per persona sarà un sottotagine
- questo può essere indesiderabile, perché rompe l'uniformità della struttura del tavolo
- l'errore di specificare correttamente gli alias comporterà la mancanza di dati
- (gli errori di battitura creeranno dei rimandi incrociati)
- YAML non supporta la transclusione dei file per riferimento, quindi tutti gli alias e gli ancoraggi devono esistere nello stesso file yaml
- non tutti i parser YAML supportano in modo affidabile ancore e alias
Guarda anche
Utilizzando le chiavi di unione YAML per fare riferimenti incrociati alle righe di un'altra tabella YAML
---
person_table:
- &person001
fname: homer
lname: simpson
role: dad
age: 33
- &person002
fname: marge
lname: simpson
role: mom
age: 34
- &person003
fname: peter
lname: griffin
role: dad
age: 34
motto_table:
- &motto001
<<: *person001
motto: >
D'oh!! YAML is too complicated!
- &motto002
<<: *person002
motto: >
Bart! Listen to your father!
- &motto003
<<: *person003
motto: >
Hey! YAML is freakin' sweet!
Problema
- lo sviluppatore desidera fare il riferimento incrociato di righe-con-ancore da una tabella e collegarsi a esse con alias di righe in un'altra tabella
- sviluppatore desidera evitare di creare il "problema dei dizionari nidificati"
Soluzione
- usa gli alias YAML, con le chiavi di fusione YAML
- in YAML, gli "identificatori di transclusione" riutilizzabili sono chiamati ancore e alias
- in YAML, gli "identificatori di transclusione" riutilizzabili sono costituiti da token alfanumerici preceduti da una e commerciale o da un asterisco
Fondamento logico
- Ancoraggi e alias YAML consentono una maggiore normalizzazione dei dati
- Ancoraggi e alias YAML impongono
DRY(Non ripeterti) - in questo esempio, è possibile progettare e conservare una struttura di tabelle che coincide strettamente con un database
- in questo esempio, è possibile ridurre l'immissione dei dati e le dimensioni dei file
insidie
- in questo specifico esempio,
yaml.load()produrrà dizionari nidificati- sotto la coppia nome-valore persona, il valore per persona sarà un sottotagine
- questo può essere indesiderabile, perché rompe l'uniformità della struttura del tavolo
- l'errore di specificare correttamente gli alias comporterà la mancanza di dati
- (gli errori di battitura creeranno dei rimandi incrociati)
- YAML non supporta la transclusione dei file per riferimento, quindi tutti gli alias e gli ancoraggi devono esistere nello stesso file yaml
- non tutti i parser YAML supportano in modo affidabile ancore e alias
Guarda anche
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow