From: Nobuhiro IMAI Date: 2009-09-22T22:14:11+09:00 Subject: [ruby-dev:39361] [Bug:1.9] ("00".."00").to_a => ["0"] いまいです。 r24562 以降、("00".."00").to_a が ["0"] になります。それ以前は ["00"] でした。String#upto の変更による影響のようです。 $ ./miniruby -ve 'p(("00".."00").to_a)' ruby 1.9.2dev (2009-08-17 trunk 24561) [i686-linux] ["00"] $ ./miniruby -ve 'p(("00".."00").to_a)' ruby 1.9.2dev (2009-08-17 trunk 24562) [i686-linux] ["0"] 時刻に基づくデータをイテレートするときに ("00".."23").each{|hour| ...} などとすることが多いのですが、桁が揃わなくなってしまってちょっと不便で す。以下のようなテストも通るようにはならないでしょうか? -- Nobuhiro IMAI Key fingerprint = F39E D552 545D 7C64 D690 F644 5A15 746C BD8E 7106 Index: test/ruby/test_range.rb =================================================================== --- test/ruby/test_range.rb (revision 25039) +++ test/ruby/test_range.rb (working copy) @@ -14,6 +14,7 @@ assert_equal(["6", "7", "8"], ("6".."8").to_a, "[ruby-talk:343187]") assert_equal(["6", "7"], ("6"..."8").to_a) assert_equal(["9", "10"], ("9".."10").to_a) + assert_equal(["09", "10"], ("09".."10").to_a) assert_equal(["9", "10"], (SimpleDelegator.new("9").."10").to_a) assert_equal(["9", "10"], ("9"..SimpleDelegator.new("10")).to_a) end