gpt4 book ai didi

ruby - erb 习惯用法来处理 undefined variable

转载 作者:数据小太阳 更新时间:2023-10-29 08:00:57 27 4
gpt4 key购买 nike

我正在尝试编写一些 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: undefined local variable or method `environment' for main:Object (NameError)”当我试图像这样测试它时:

ruby -rerb -e "environmentUNDEFINEME= [ 'cronvar=cronval', 'var2=val2' ]; 
puts ERB.new(File.read('templates/job.erb')).result"

抱歉,这是非常基础的问题,但总有人会问一些简单的问题。有帮助吗?

最佳答案

我会这样做:

<% if defined?(environment) %>
<% Array(environment).each do |f| %>
one line: <%= f %>
<% end %>
<% end %>

我不明白为什么你加入新的线路然后再次拆分它们,所以我从示例中删除了它。

关于ruby - erb 习惯用法来处理 undefined variable ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13095963/

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