YAML文件中的大括号

YAML文件中的大括号,yaml,travis-ci,Yaml,Travis Ci,我找到了以下模板 我注意到: repo: {GITHUB_USER}/{PROJECT_NAME} 这是我不熟悉的一种特殊的.yml变量语法吗?在哪里可以设置这些值(GITHUB\u USER,PROJECT\u NAME) 我知道我可以使用环境变量,比如: repo: $GITHUB_USER/$PROJECT_NAME 但此语法看起来不同。这不是有效的YAML文件。在第一次}之后,YAML解析器将期望块样式的延续。这意味着要么是与repo对齐的键,要么是与outdent

我找到了以下模板

我注意到:

    repo: {GITHUB_USER}/{PROJECT_NAME}
这是我不熟悉的一种特殊的
.yml
变量语法吗?在哪里可以设置这些值(
GITHUB\u USER
PROJECT\u NAME


我知道我可以使用环境变量,比如:

    repo: $GITHUB_USER/$PROJECT_NAME

但此语法看起来不同。

这不是有效的YAML文件。在第一次
}
之后,YAML解析器将期望块样式的延续。这意味着要么是与
repo
对齐的键,要么是与outdenting对齐的键。相反,它会找到一个
/
,任何YAML解析器都应该在这个问题上抛出一个错误

这看起来像是YAML文件的模板,例如,在以字符串
temp
加载文件内容后,在Python中使用类似以下内容:

templ.format(**dict(GITHUB_USER="Janez", PROJECT_NAME="test"))

另一方面,YAML文件的推荐扩展名是
.YAML
,比Travis存在的时间长很多年,所以这可能就是他们使用
.yml
扩展名的原因。

这不是有效的YAML文件。在第一次
}
之后,YAML解析器将期望块样式的延续。这意味着要么是与
repo
对齐的键,要么是与outdenting对齐的键。相反,它会找到一个
/
,任何YAML解析器都应该在这个问题上抛出一个错误

这看起来像是YAML文件的模板,例如,在以字符串
temp
加载文件内容后,在Python中使用类似以下内容:

templ.format(**dict(GITHUB_USER="Janez", PROJECT_NAME="test"))

另一方面,YAML文件的推荐扩展名是
.YAML
,比Travis存在的时间要长很多年,所以这可能就是他们使用
.yml
扩展名的原因。

几乎我所知道的每个YAML解析器都抱怨这一点。YAML中的花括号表示流样式映射,如果它们是文字,则必须引用。我猜这个YAML文件是经过预处理的,这些都是模板占位符,所以最终的YAML文件将是有效的。请看:实际上,我所知道的每个YAML解析器都会抱怨这一点。YAML中的花括号表示流样式映射,如果它们是文字,则必须引用。我猜这个YAML文件是经过预处理的,这些都是模板占位符,因此最终的YAML文件将是有效的。请参见: