如何查看yaml文件中的if / else
。
喜欢:
if %{attribute}
attributes:
shipping_comment: Shipping comment / Instructions
else
attributes:
shipping_date: Date
答案 0 :(得分:10)
YAML是一种数据序列化语言,因此它并不意味着包含if
/ else
样式的可执行语句:这是您编程语言的责任。重新使用。
Ruby中用于确定从YAML文件输出哪个配置字符串的简单示例可以定义您的YAML配置文件,如下所示:
<强> data.yml 强>
attributes:
shipping_comment: Shipping comment / Instructions
shipping_date: Date
然后,在你的程序中,读取文件并在那里运行条件:
<强> shipping.rb 强>
#!/usr/bin/env ruby
require 'yaml'
config = YAML.load_file('data.yml')
attribute = true # your attribute to check here
if attribute
puts config['attributes']['shipping_comment']
else
puts config['attributes']['shipping_date']
end
答案 1 :(得分:1)
开箱即用.yaml文件不包含任何条件逻辑,如Paul Fioravanti所示:
YAML是一种数据序列化语言,因此它并不意味着包含if / else样式的可执行语句:这是您正在使用的编程语言的责任。
但是,在某些情况下,例如基础设施作为代码,您可能没有奢侈的保罗解决方案。在这些情况下,大多数体面的基础设施工具都提供了一种实现条件逻辑的内置方式。
由于看来infra不是您正在寻找的领域,我不会详细介绍如何编写每个工具解决方案,但对于像我这样结束的任何人来说,这些文档对我有帮助并且可能对你有用: