web-dev-qa-db-ja.com

YAMLのマップキー識別子で許可されている文字?

YAMLのキー(つまり、example: "Value"example)で許可されている文字と許可されていない文字はどれですか?

33
Mats Stijlaart

任意の文字(一重引用符「example」または二重引用符「example」のいずれかで正しく引用されている場合)。キーはスカラーである必要がないことに注意してください(「例」)。リストまたはマップにすることができます。

11
Andrey

YAML 1.2仕様によると、明示的な制御文字を除外して印刷可能な文字を使用することをお勧めします( ここを参照 ):

キー名を作成する際には、YAML仕様に文字を付けます。構文や特別な意味を避けるために使用する必要がある(たとえば、「#」はコメントを示し、「>」は折りたたみを示し、「-」はリストを示すなど)。

基本的に、YAMLドキュメントを使用する必要があるコード(パーサー/ツールの実装)によって、相対的なコーディング規約(制限)に任されています。英数字を使いこなすほど、良い結果が得られます。アンダースコアが、私たちが遭遇したほとんどのツールで機能したのは、単に私たちの経験です。

これは、ピリオド文字「。」を変換するために私たちが協力している他の人と共有されている慣習です。ピリオドを使用する名前空間構文をYAMLにマッピングする場合、アンダースコア文字「_」に変換します。一部の人々は同様にハイフンをうまく使用していますが、一部の実装では誤解されているのを見てきました。

34
Matt Rutkowski