在 Rime 配置文件中,给键值对的值加引号的原因主要与 YAML(YAML Ain’t Markup Language)语法规则有关。
在 YAML 中,字符串值不总是必须加引号,但是在某些情况下,加引号可以避免解析错误,确保 YAML 解析器能够正确识别字符串内容。下面是需要加引号的几种常见情况:
1. 带有特殊字符或空格的字符串
如果字符串中包含空格、冒号、逗号、或特殊字符,YAML 解析器会有可能把它误认为其他类型的值(如数字、布尔值等),这时需要加引号。
2. 避免解析为布尔值或数字
如果某些值本身可能会被 YAML 解析器误认为布尔值或数字,加引号可以避免这种情况。
- 例如,如果有一个字体名是
True
或 False
,YAML 会把它解析为布尔值,而不是字符串:1 2
| style: font_face: "True"
|
3. YAML 关键字或特殊值
某些字符串(例如 yes
, no
, null
,或者数字开头的内容)在 YAML 中有特殊含义,不加引号时可能会导致解析错误。例如 12345
会被解析成数字,而不是字符串。
结论:
- 在
patch
中为 "style/font_face"
指定值 "KaiTi"
加引号,主要是为了确保 YAML 解析器能正确地识别这是一个字符串,避免可能的误解析。
- 尽管字体名不含特殊字符和空格时可以不加引号,但在 YAML 中,加引号是一种安全的通用做法,尤其当你希望确保它总是被解析为字符串类型时。