本文介绍了如何在 YAML 文件中使用变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有需要将变量作为输入的 YAML 文件:
I have YAML file which needs to take a variable as an input:
outputters:
- type : DateFileOutputter
name : logfile
level : DEBUG
date_pattern: '%Y%m%d'
trunc : 'false'
dirname : "/home/sameera/workspace/project/log"
filename : "message.log"
formatter :
date_pattern: '%m/%d/%Y %H:%M:%S'
pattern : '%d %l - %m'
type : PatternFormatter
我想将 dirname
作为参数传递,例如:
I want to pass dirname
as a parameter, something like:
dirname : "<%= LOGFILE_PATH%>"
我的 LOGFILE_PATH
定义在一个名为 init.rb
的文件中.
My LOGFILE_PATH
is defined in a file called init.rb
.
推荐答案
您可以使用 ERB.
例如:
template = ERB.new File.new("path/to/config.yml.erb").read
processed = YAML.load template.result(binding)
您可以在此处阅读有关绑定的更多信息:ruby metaprogramming.
You can read more on binding here: ruby metaprogramming.
这篇关于如何在 YAML 文件中使用变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!