Chef には、カンマ区切りで出力したい配列がありますが、各値が別の配列に存在することも確認したいと思います。配列の印刷と内容の検証の両方を行う簡単な 1 行の方法はありますか。昔はやってた
現在の印刷専用行:
hostgroups <%= n.run_list.roles.to_a.join(",") %>
Chef には、カンマ区切りで出力したい配列がありますが、各値が別の配列に存在することも確認したいと思います。配列の印刷と内容の検証の両方を行う簡単な 1 行の方法はありますか。昔はやってた
現在の印刷専用行:
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