如何避免Puppet数组中的代码重复?

时间:2015-01-08 23:21:29

标签: arrays puppet code-duplication

目标

在公司有一个能够启动JAR文件的脚本。大多数这些JAR文件需要启动两次,其中一些需要启动三次。今天已经创建了一个数组,以便多次启动JAR。它按预期工作,但问题是如何避免Puppet数组中的代码重复?

阵列

$variables [
  'JAR_0',
  'JAR_0',
  'JAR_0',
  'JAR_1',
  'JAR_1',
  'JAR_1',
  'JAR_2',
  'JAR_2',
  'JAR_2',
  'JAR_3',
  'JAR_3',
  'JAR_4',
  'JAR_4',
  'JAR_5',
  'JAR_5',
  'JAR_6',
  'JAR_6',
  'JAR_6',
  'JAR_7',
  'JAR_7',
  'JAR_8',
  'JAR_8',
  'JAR_8',
  'JAR_9',
  'JAR_9',
  'JAR_9'
]

For循环

<% @variables.each do |variable| -%>
    hello <%= variable %>
<% end -%>

1 个答案:

答案 0 :(得分:2)

您可以使用地图,例如:

$variables = {
  'JAR_0' => 3,
  'JAR_1' => 2,
  'JAR_2' => 2,
  'JAR_3' => 3
}

然后在模板中你会有一个这样的循环

<% @variables.keys.each do |k| -%>
  <% @variables[k].to_i.times do -%>
    hello <%= k %>
  <% end -%>
<% end -%>