Rails 这样的数字序列,应该怎样写

stephen · June 12, 2012 · Last by yggg replied at June 12, 2012 · 2105 hits
[002001..002671,300001..300329,000001..000999,600000..601999,603000,603001,603002,603123,603128,603333,603366].each do |range|
      range.to_a.each do |n|
        puts n
      end    
    end

每个数字 002002 都是要这个的格式,然后做处理,应该要把他变成字符串,不过之前的 002001..002671 这样写正确吗? 报错

Invalid octal digit
...671,300001..300329,000001..000999,600000..601999,603000,6030...

0 开头的数字是 8 进制,0d 开头的数字才是 10 进制

想要代码整齐可以

0d002002

想要输出整齐可以

puts '%06d' % 2002

不行啊 00 是 8 进制的,里面出现比 7 大的就报错

(2001..2012).map{|i| i.to_s.rjust(6, '0')}
Unknow user #3 June 12, 2012

楼上很巧妙,想想只能先用 string 来保存 用的时候再 to_i

You need to Sign in before reply, if you don't have an account, please Sign up first.