Combining anchor and alias in one line in triggers parserError: 'Expected <block end>, but found '<alias>'
Combining anchor and alias in one line in triggers parserError: 'Expected <block end>, but found '<alias>'
我正在尝试组合锚点和别名,以便将值重用到不同名称下的多个容器中。
我尝试了以下代码:
FWL_GV_NANSEN: &fwl_gv_nansen
dtype: float
value: 2715.0
FWL_GV_E3_2: &fwl_gv_e32 *fwl_gv_nansen
目标只是让另一个变量 FWL_GV_E3_2 包含与我稍后可以参考的 FWL_GV_NANSEN 相同的信息。
与在Python(或其他)中定义的一样:
a = 5.0
b = a
c = b
但这会触发以下错误消息:
yaml.parser.ParserError: while parsing a block mapping
in "fwl_2.yml", line 7, column 3
expected < block end >, but found '< alias >'
有没有办法将别名的内容分配给用于定义新锚点的变量(通过不同的变量传播初始值?
PS:也许 YAML 不是最好的语言,因为使用 python 的变量会很简单,但我必须使用 YAML
YAML 节点属性(即标签和锚点)只能出现在 "real" 节点上:集合(块或流)或标量。
从生产规则可以看出,c-ns-properties
只能在那里使用,但别名部分也可以states explicitly:
Note that an alias node must not specify any properties [...]
如果您的 YAML 解析器允许您访问原始 anchor/aliases 或某些 anchor-to-node/object 映射(例如我的 ruamel.yaml
包 Python 当用于 round-tripping) 时,是使用标记的标量:
FWL_GV_NANSEN: &fwl_gv_nansen
dtype: float
value: 2715.0
FWL_GV_E3_2: &fwl_gv_e32 !ref fwl_gv_nansen
使用 !ref
对象的构造函数解析标量 fwl_gv_nansen
,使用一些 应用程序 特定代码。通常,锚点和别名事件由作曲家加载程序步骤 在 作曲之前解决(如果是这样,则该信息不再可用)。
我正在尝试组合锚点和别名,以便将值重用到不同名称下的多个容器中。
我尝试了以下代码:
FWL_GV_NANSEN: &fwl_gv_nansen
dtype: float
value: 2715.0
FWL_GV_E3_2: &fwl_gv_e32 *fwl_gv_nansen
目标只是让另一个变量 FWL_GV_E3_2 包含与我稍后可以参考的 FWL_GV_NANSEN 相同的信息。
与在Python(或其他)中定义的一样:
a = 5.0
b = a
c = b
但这会触发以下错误消息:
yaml.parser.ParserError: while parsing a block mapping in "fwl_2.yml", line 7, column 3 expected < block end >, but found '< alias >'
有没有办法将别名的内容分配给用于定义新锚点的变量(通过不同的变量传播初始值?
PS:也许 YAML 不是最好的语言,因为使用 python 的变量会很简单,但我必须使用 YAML
YAML 节点属性(即标签和锚点)只能出现在 "real" 节点上:集合(块或流)或标量。
从生产规则可以看出,c-ns-properties
只能在那里使用,但别名部分也可以states explicitly:
Note that an alias node must not specify any properties [...]
如果您的 YAML 解析器允许您访问原始 anchor/aliases 或某些 anchor-to-node/object 映射(例如我的 ruamel.yaml
包 Python 当用于 round-tripping) 时,是使用标记的标量:
FWL_GV_NANSEN: &fwl_gv_nansen
dtype: float
value: 2715.0
FWL_GV_E3_2: &fwl_gv_e32 !ref fwl_gv_nansen
使用 !ref
对象的构造函数解析标量 fwl_gv_nansen
,使用一些 应用程序 特定代码。通常,锚点和别名事件由作曲家加载程序步骤 在 作曲之前解决(如果是这样,则该信息不再可用)。