linux 运行 chom,YAML语法原语

在本章中,将了解YAML中语法原语的以下几个方面 -

生产参数

缩进空间

分离空间

忽略的行前缀

折叠线

下面来详细地了解每个方面。

1. 生产参数

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

缩进

它由字符n或m表示字符流取决于其中包含的块的缩进级别。 许多生产都参数化了这些功能。

上下文

它由c表示,YAML支持两组上下文:块样式和流样式。

样式

它由s表示。 标量内容可以以五种样式之一呈现:普通,双引号和单引号流,字面和折叠块。

Chomping

它用t表示。 块标量提供了许多有助于修剪块的机制:剥离,剪辑和保留。 Chomping有助于格式化新的线串。 它使用块样式表示。 Chomping过程在指标的帮助下发生。 指标控制使用字符串换行符生成的输出。 使用( - )运算符删除换行符,并使用(+)运算符添加换行符。

Chomping过程的一个例子如下所示 -

strip: |-

text↓

clip: |

text↓

keep: |+

text↓

解析指定的YAML示例后的输出如下 -

39f949e51cedac77d00507302845db4b.png

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"

可以看到JSON格式的折叠输出如下 -

"specific\u2028trimmed\n\n\nas space"

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值