为什么Ruby的Date类自动加载,但DateTime不是?

使用IRB,为什么Date&Time类自动加载,但DateTime不是? 我不得不require 'date' ,这对我来说没有意义,因为我认为Date和DateTime都使用标准库'date'

 ruby-1.9.2-p290 :001 > Date => Date ruby-1.9.2-p290 :002 > Time => Time ruby-1.9.2-p290 :003 > DateTime NameError: uninitialized constant Object::DateTime from (irb):3 from /Users/kamilski81/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `<main>' ruby-1.9.2-p290 :004 > require 'date' => true ruby-1.9.2-p290 :005 > require 'date' => false ruby-1.9.2-p290 :006 > DateTime => DateTime 

在IRB中,包括这一行: require 'date'那么你将能够使用date时间。

 irb(main):000:0> DateTime.class NameError: uninitialized constant DateTime from (irb):0 from /path/to/ruby/irb:12:in '(main)' irb(main):001:0> require 'date' => true irb(main):002:0> DateTime.class => Class 

第一次使用require 'date'初始化时为我工作。

有点好奇,我试了一下:

 $ ruby -e 'puts DateTime.class' -e:1:in `<main>': uninitialized constant Object::DateTime (NameError) [~, kamilski81@mac] $ ruby -e 'puts Date.class' -e:1:in `<main>': uninitialized constant Object::Date (NameError) $ ruby -e 'puts Time.class' Class 

所以这让我觉得这是一个自动加载“date”的irb问题。