在 Chef 中,我有一个数组,我想打印出逗号分隔的数组,但我还想确保每个值都存在于另一个数组中。是否有一种简单的单行方式可以打印出数组并验证内容。过去我做过
当前仅打印行:
hostgroups <%= n.run_list.roles.to_a.join(",") %>
在 Chef 中,我有一个数组,我想打印出逗号分隔的数组,但我还想确保每个值都存在于另一个数组中。是否有一种简单的单行方式可以打印出数组并验证内容。过去我做过
当前仅打印行:
hostgroups <%= n.run_list.roles.to_a.join(",") %>
我会这样做:
hostgroups <%= (n.run_list.roles.to_a & another_a).join(",") %>
使用select
数组的方法怎么样?
我假设这other_collection
是这里的“允许”字眼。
hostgroups <%= n.run_list.roles.to_a.select {|elem| other_collection.include? elem}.join(",") %>
让我知道它是否有帮助!
编辑 Ruby 中数组的文档链接:http ://www.ruby-doc.org/core-1.9.3/Array.html