以编程方式创建此数组?

时间:2014-03-10 15:48:49

标签: ruby arrays refactoring

我目前正在填充一个简单的数组:

queues = %w(rate_limit_000 rate_limit_001 rate_limit_002 rate_limit_003 rate_limit_004 rate_limit_005 rate_limit_006 rate_limit_007 rate_limit_008 rate_limit_009 rate_limit_010 rate_limit_011 rate_limit_012)

重构的时机已经成熟。那么在不手动添加项目的情况下构建该数组的最简单方法是什么?

项目名称之间的唯一区别是最后3位数字,应始终为3位数,但我需要设置限制它的高度。

2 个答案:

答案 0 :(得分:5)

如何使用String#%

(0..12).map { |i| "rate_limit_%03d" % i }
# => ["rate_limit_000", "rate_limit_001", "rate_limit_002", ...

答案 1 :(得分:4)

您可以使用String#rjust方法执行此操作:

(0..12).map do |i|
  "rate_limit_#{i.to_s.rjust(3, '0')}"
end