Ruby:如何在ERB中以逗号分隔打印之前检查内容数组

时间:2012-11-23 17:27:15

标签: ruby erb chef

在Chef中我有一个数组,我想打印出逗号分隔,但我还想确保每个值都存在于另一个数组中。是否有简单的一行方式打印出阵列并验证内容。过去我做过

当前仅打印行:

hostgroups <%= n.run_list.roles.to_a.join(",") %>

2 个答案:

答案 0 :(得分:4)

我这样做:

hostgroups <%= (n.run_list.roles.to_a & another_a).join(",") %>

答案 1 :(得分:0)

如何对数组使用select方法?

我假设other_collection为“允许”字样。

hostgroups <%= n.run_list.roles.to_a.select {|elem| other_collection.include? elem}.join(",") %>

让我知道它是否有帮助!

修改 链接到Ruby中的Array文档:http://www.ruby-doc.org/core-1.9.3/Array.html