Ich verstehe nicht ganz, wie anwendungsspezifische YAML-Tags zu verwenden, und vielleicht ist es, weil meine gewünschte Verwendung von ihnen rein falsch ist. Ich benutze YAML für eine Konfigurationsdatei und hoffte, Tags zu verwenden, um meinem Konfigurationslader einen Hinweis zu geben, zu welchem Datentyp die Daten in - anwendungsspezifische Datentypen analysiert werden sollen.Verwendung von YAML-Tags zur Bezeichnung von Typen
Ich verwende auch libyaml mit C.
So mag ich werde ich versuche, so etwas wie ...
shapes:
square: "0,4,8,16"
circle: "5,10"
In meiner App zu tun Tags als Hinweise verwenden, so dass ich kann die Werte von Quadrat in meine quadratische Datenstruktur und die Werte von Kreis in meine Kreisdatenstruktur laden (diese Werte bedeuten nichts in diesem Beispiel).
So mache ich zur Zeit:
shapes:
square: !square "0,4,8,16"
circle: !circle "5,10"
libyaml wird ein Etikett "! Square" zur Verfügung stellen, wenn ich das skalare "0,4,8,16" übergeben. Ist es zulässig, dieses Tag zu verwenden, um meinem Loader einen Hinweis zur Verarbeitung des Skalars zu geben?
Da es für mich funktioniert, bin ich mehr neugierig, ob es richtig ist. Und wenn nicht, wie würde ich das besser machen?
Danke.