YAML教程@第十章 YAML语法原语

版权声明:忠于祖国,忠于人民 https://blog.csdn.net/boss2967/article/details/89568395
YAML中语法原语
  • 生产参数
  • 缩进空间
  • 分离空间
  • 忽略的行前缀
  • 折叠线
1. 生产参数

生产参数包括一组参数以及在特定生产中使用的允许值范围。

  • 缩进
  • 上下文
  • 样式
  • Chomping
2. 缩进空间

在YAML字符流中,缩进被定义为由零个或者多个字符串组成的换行符。
要记住重要的一点是缩进不包含任何制表符。缩进中的字符绝对不应该被视为节点内容的一部分。

%YAML 1.1
---
!!map {
   ? !!str "Not indented"
   : !!map {
      ? !!str "By one space"
      : !!str "By four\n spaces\n",
      ? !!str "Flow style"
      : !!seq [
         !!str "By two",
         !!str "Still by two",
         !!str "Again by two",
      ]
   }
} 

缩进后可以看到的输出

{
   "Not indented": {
      "By one space": "By four\n spaces\n", 
      "Flow style": [
         "By two", 
         "Still by two", 
         "Again by two"
      ]
   }
} 
3. 分离空间

YAML使用空格字符分隔标记。
最重要的注意事项是YAML中的分隔不应该包括制表符。

{ · first: · Sammy, · last: · Sosa · }

上面显示的语法将输出

{
   "\u00b7 last": "\u00b7 Sosa \u00b7", 
   "\u00b7 first": "\u00b7 Sammy"
} 
4. 忽略行前缀

空前缀始终包含缩进,具体取决于标量类型,该标量类型还包括前导空格。 普通标量不应包含任何制表符。 另一方面,引用的标量可能包含制表符。 块标量完全取决于缩进。

%YAML 1.1
---
!!map {
   ? !!str "plain"
   : !!str "text lines",
   ? !!str "quoted"
   : !!str "text lines",
   ? !!str "block"
   : !!str "text·®lines\n"
} 

块流的输出

{
   "plain": "text lines", 
   "quoted": "text lines", 
   "block": "text\u00b7\u00aelines\n"
} 
5. 折叠线
%YAML 1.1
--- !!str
"specific\L\
trimmed\n\n\n\
as space"
"specific\u2028trimmed\n\n\nas space"

猜你喜欢

转载自blog.csdn.net/boss2967/article/details/89568395