我正在尝试编写一些 puppet .erb,如果它是,我想处理这个“环境”变量:
- 不明确的
- 带有换行符的字符串
- 数组。
我已经做到了:
<% Array(environment).join("\n").split(%r{\n}).each do |f| %>
one line: <%= f %>
<% end %>
但是还没有解决未定义的情况。我试过这个
<% if (defined?(environment)).nil? %?
<% Array(environment).join("\n").split(%r{\n}).each do |f| %>
one line: <%= f %>
<% end %>
<% end %>
但是当尝试像这样测试它时,我仍然得到“(erb):11:未定义的局部变量或方法`environment' for main:Object(NameError)”:
ruby -rerb -e "environmentUNDEFINEME= [ 'cronvar=cronval', 'var2=val2' ];
puts ERB.new(File.read('templates/job.erb')).result"
抱歉,这太基本了,但有人必须问一些简单的问题。有什么帮助吗?