我使用puppet为ruby程序提供一组常量。 我需要提供一个我的程序将迭代的主机名数组。通过erb模板输出红宝石数组
在我在此之前使用bash脚本,我根本就可变
hosts => "host1,host2"
的傀儡,我提供给bash脚本作为
HOSTS=<%= hosts %>
显然,这将不太工作对于红宝石 - 我需要它的格式
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",]
,但后面的逗号感觉马虎。整个事情感觉sl。。有没有人有更好的方法?或者是我做了最好的选择?
我仍然需要做一些后处理,去掉转义字符和额外的引号,不是吗? – Hitch 2012-08-10 23:13:50
因为它们在双引号内,所以他们逃脱了。这就是它在控制台中的样子。当你在erb中输出时,它会很好。 – numbers1311407 2012-08-11 14:33:50
啊,很酷。我会给你一个机会,看看它是否符合我的需求。谢谢! – Hitch 2012-08-11 18:29:27