gpt4 book ai didi

yaml - 如何引用yaml文件中的值?

转载 作者:行者123 更新时间:2023-12-04 01:47:23 24 4
gpt4 key购买 nike

我写了一个 YAML 文件如下:

private_ips:
- 192.168.1.1
- 192.168.1.2
- 192.168.1.3
- 192.168.1.4

testcases:
- name: test_outbound
ip: << I want to use reference to private_ips[0] = '192.168.1.1'

如何在 YAML 文件中使用引用?

最佳答案

您可以使用以下内容:

ip: !Ref private_ips.0

在 YAML 中。但这将要求加载 YAML 的程序为标签 !Ref 实现特殊类型。以相对于当前数据结构的方式解释其节点。这在大多数 YAML 加载器中有些问题,因为它们执行深度优先遍历并且在构建 !Ref 时没有任何概念。树 YAML 文档根的标记节点。这可以通过加载数据结构后的第二遍来解决。 YAML 规范中没有“快捷方式”来执行这种遍历文档以获取值而无需加载程序执行某些特殊操作(即未在 YAML 规范中指定)。

YAML 规范中包含 anchor (由 & 表示)和别名(由 * 表示)的概念,这取决于您想如何使用它,这可能会解决您的问题,例如如果您想尝试使用哪个 IP 地址进行测试:
private_ips:
- &test 192.168.1.1
- 192.168.1.2
- 192.168.1.3
- 192.168.1.4

testcases:
- name: test_outbound
ip: *test

这应该在任何符合规范的 YAML 加载器中加载,就好像最后一行写为:
      ip: 192.168.1.1

没有你的程序做任何额外的处理。

关于yaml - 如何引用yaml文件中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54742161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com