2

我正在交互|f|

f.print "ITEM", i

ITEM001 ITEM002 .... ITEM044 .... ITEM745

我该如何定义i,如果i是 1,它将打印 001 始终确保有三位数字?

4

2 回答 2

8

它被称为填充:

5.times do |x|
  puts "ITEM%03d" % x
end
# >> ITEM000
# >> ITEM001
# >> ITEM002
# >> ITEM003
# >> ITEM004

或者,

5.times do |x|
  puts "ITEM" + x.to_s.rjust(3, '0')
end
于 2013-10-08T13:18:06.483 回答
2

我喜欢printf用于这种工作,它足够灵活且易于记忆。

5.times do |x|
  printf("ITEM%03d\t", x)
end

#ITEM000 ITEM001 ITEM002 ITEM003 ITEM004
于 2013-10-08T13:23:41.157 回答