Lo capisco a un certo livello, ma devo ancora vedere un esempio che non ha sollevato più domande che risposte.Non capisco cosa sia un tag YAML
http://rhnh.net/2011/01/31/yaml-tutorial
# Set.new([1,2]).to_yaml
--- !ruby/object:Set
hash:
1: true
2: true
ottengo che stiamo dichiarando un tag set. Non capisco che cosa abbia a che fare il successivo hash mapping con esso. Stiamo dichiarando uno schema? Qualcuno può mostrarmi un esempio con più dichiarazioni di tag?
Ho letto attraverso la specifica: http://yaml.org/spec/1.2/spec.html#id2761292
%TAG ! tag:clarkevans.com,2002:
È questo dichiarando uno schema? C'è qualcos'altro che un parser deve fare per analizzare correttamente il file? Un file di schema di qualche tipo?
http://www.yaml.org/refcard.html
Tag property: # Usually unspecified.
none : Unspecified tag (automatically resolved by application).
'!' : Non-specific tag (by default, "!!map"/"!!seq"/"!!str").
'!foo' : Primary (by convention, means a local "!foo" tag).
'!!foo' : Secondary (by convention, means "tag:yaml.org,2002:foo").
'!h!foo': Requires "%TAG !h! <prefix>" (and then means "<prefix>foo").
'!<foo>': Verbatim tag (always means "foo").
Perché è rilevante per avere un tag primario e secondario, e perché un tag secondario si riferiscono a un URI? Quale problema viene risolto avendo questi?
Mi sembra di vedere un sacco di "cosa sono" e no "perché sono lì" o "per cosa sono usati".
Nel vostro primo esempio, '# Imposta. new ([1,2]). to_yaml' è in realtà un * commento * - è un'affermazione ruby che produrrebbe lo YAML sotto di esso. – AlexFoxGill