加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

通过erb模板输出ruby数组

发布时间:2020-12-17 03:28:47 所属栏目:百科 来源:网络整理
导读:我正在使用puppet为 ruby程序提供一组常量. 我需要提供一个我的程序将迭代的主机名数组. 在我之前使用的bash脚本中,我只是作为一个木偶变量 hosts = "host1,host2" 我提供给bash脚本的 HOSTS=%= hosts % 显然这对ruby不太有用 – 我需要它的格式 hosts = ["h
我正在使用puppet为 ruby程序提供一组常量.
我需要提供一个我的程序将迭代的主机名数组.

在我之前使用的bash脚本中,我只是作为一个木偶变量

hosts => "host1,host2"

我提供给bash脚本的

HOSTS=<%= hosts %>

显然这对ruby不太有用 – 我需要它的格式

hosts = ["host1","host2"]

以来

p hosts

puts my_array.inspect

提供输出

["host1","host2"]

我希望使用其中一个.
不幸的是,我不能为我的生活弄清楚如何使这项工作.
我尝试了以下各项:

<% p hosts %>
<% puts hosts.inspect %>

我找到了他们表示我需要在函数调用前放置“function_”的地方……这似乎不起作用.我已经确定了一个迭代模型:

[<% hosts.each do |host| -%>"<%=host%>",<% end -%>]

这是有效的,给我

["host1","host2",]

但尾随的逗号感觉很草率.整件事感到草率.有没有人有更好的方法?或者我是最好的选择?

解决方法

我用这种方式解决了(Puppet v3.0.1):

{
    "your_key1": {
        "your_key2": [<% puppet_var.join('","').each do |val| %>"<%= val %>"<% end -%>]
    }
}

如果$puppet_var是像[“a”,“b”]这样的数组,那么输出应该类似于:

{
    "your_key1": {
        "your_key2": ["a","b"]
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读