当前位置: 首页 > 知识库问答 >
问题:

YAML:我需要为YAML中的字符串加引号吗?

段干安和
2023-03-14

我正试图为Rails项目的国际化编写一本YAML词典。但是我有点困惑,因为在一些文件中我看到了双引号中的字符串,而在一些文件中没有双引号。需要考虑的几点:

    null
  • 通常不需要引号;
  • 如果要转义字符,请使用双引号;
  • 使用带有单引号的时...?!?

共有1个答案

裴宏壮
2023-03-14

在简单回顾了问题中引用的YAML烹饪书和一些测试之后,下面是我的解释:

  • 通常,您不需要引号。
  • 使用引号强制输入字符串,例如,如果您的键或值是10,但您希望它返回字符串而不是Fixnum,则编写'10'“10”
  • 如果您的值包含特殊字符,请使用引号(例如:,{,},[,],,,&,*,#,-,,=,,%,@,\)。
  • 单引号允许您将几乎任何字符放入字符串中,并且不会尝试解析转义代码。“\n”将作为字符串\n返回
  • 双引号解析转义代码。“\n”将作为换行符返回。
  • 感叹号引入一个方法,例如!Ruby/sym来返回一个Ruby符号。

在我看来,最好的方法是除非万不得已,否则不要使用引号,然后使用单引号,除非您特别想处理转义代码。

更新

“yes”和“no”应该用引号括起来(单引号或双引号),否则它们将被解释为TrueClass和FalseClass值:

en:
  yesno:
    'yes': 'Yes'
    'no': 'No'
 类似资料:
  • 我已经阅读了这个类似问题的答案:YAML中的字符串是否需要引号? 然而,对于是否可以用包含正斜杠的字符串转义引号,没有答案。 例如,我们是否需要将引号添加到以下eslint规则“react/no deprecated”:off?

  • 如果我删除原始YAML中后面的空格,它就可以正常工作

  • 主要内容:1. 指令,2. YAML指令,3. 文件边界标记,4. 文件,5. 完整流在YAML中,将了解如下各种字符流 - 指令 文件边界标记 文件 完整流 在本章中,将详细介绍和学习它们。 1. 指令 指令是YAML处理器中使用的基本指令。 指令是表示详细信息,如注释,不会反映在序列化树中。 在YAML中,无法定义私有指令。 本节讨论各种类型的指令及相关示例 - 保留指令 保留指令初始化为三个连字符(),如下例所示。 保留的指令将转换为JSON的特定值。 2. YAML指令 Y

  • 问题内容: 我正在为具有二进制文件的项目创建图表,该二进制文件在执行时会生成YAML格式的配置文件,如下所示: 我的图表需要读取该文件并将其所有值加载到容器中的环境变量中,因此我在文件中创建了一个变量,安装图表后,我使用以下命令传递文件内容: 接下来,我创建一个具有的值: 我遇到的问题是我需要使用以下值做两件事: 在所有键之前添加预定义的值(因此,在上面的示例中,我将其作为键) 确保所有值都是字符

  • 主要内容:指示符字符各种类型的字符用于各种功能。 本章详细讨论了YAML中使用的语法,并重点介绍了字符操作。 指示符字符 指示符包括用于描述YAML文档内容的特殊语义。 下表详细说明了这一点。 编号 字符 功能 1 它表示块序列条目 2 它表示映射键 3 它表示映射值 4 它表示流集合条目 5 它开始流序列 6 它结束流序列 7 它启动流映射 8 它结束流映射 9 它表示注释 10 它表示节点的锚属性 11 它表示别

  • 我一直在App Engine中阅读有关进入app.yaml的配置指令的参考资料,例如'DBG_ENABLE'。但我在我的Android Studio创建的GAE项目中找不到这个文件。此外,我发现这个文件中的一些指令(例如:缩放)也有等效的appengine-web.xml. 那么,这个yaml文件是怎么回事?我需要创建它吗?哪里