我最近正在做一个练习,以确定一个人在她/他的生日那天的吉秒纪念日。If you want, you can nitpick me here。
在做这个练习时,我在irb中发现,如果我不require 'date'
,我会得到不同的结果。
vs使用require 'date'
。
此外,我在repl.it中也尝试了同样的方法,如果尝试在不使用Date
的情况下使用require 'Date'
,则会得到一个错误。
我能够找到对“未初始化常量”错误(Why is Ruby's Date class automatically loaded but DateTime is not?和Why does Date exist in Ruby before it is required?)的一些响应,这可能是导致我走上版本控制道路的罪魁祸首;但是,我找不到任何压倒性的确定响应。
我使用的是:ruby 2.1.3、irb 0.9.6(我相信它使用的是ruby 2.0.0)和repl。
那么,这是一个版本的东西吗?…IRB和Ruby的较量?…标准库中的日期类+日期模块?或者说我只是个N00B?
最后,我对irb中的日期对象做了更多的修改,得到一个错误“也许是irb错误!”
(fwiw,我在irb中对“time”做了同样的事情,但是这次,不管我是否需要“time”,都得到了相同的结果。)
最佳答案
rubygems(默认情况下是必需的)defines a empty, non-functioning Date
class版本早于2.4.0(rubygems版本,而不是ruby)。这是fixed recently(另请参见Ruby bug report)Rubygems的修订版可能包含在Ruby 2.2中。