我正在学习Ruby,然后进入irb,用Date类测试一些东西。简言之,我做了以下工作:
$ irb
irb(main):001:0> Date.new
=> #<Date:0x007f983103ee60>
irb(main):002:0> Date.constants
=> []
irb(main):003:0> help Date
=> nil
irb(main):004:0> Date.constants
=> [:MONTHNAMES, :ABBR_MONTHNAMES, :DAYNAMES, :ABBR_DAYNAMES, :ITALY, :ENGLAND, :JULIAN, :GREGORIAN, :Infinity]
irb(main):005:0> 我被这事弄糊涂了。问题:
Date.constants的输出发生变化?help正在加载/初始化某些内容。那是什么?为什么Date.new起作用了?这对谷歌来说是很难的。我在红宝石2.1.2和irb 0.9.6。
发布于 2014-08-10 21:05:38
在运行Date后添加help Date常量最有可能的原因是在执行命令时调用了require 'date' (或require 'time'):
2.1.0 :001 > Date.constants
=> []
2.1.0 :002 > require 'date'
=> true
2.1.0 :003 > Date.constants
=> [:MONTHNAMES, :ABBR_MONTHNAMES, :DAYNAMES, :ABBR_DAYNAMES, :ITALY, :ENGLAND, :JULIAN, :GREGORIAN, :Infinity] 至于Date.new,它可以工作,因为Date附带了一个默认的构造函数。
我怀疑这对你会有什么问题。
https://stackoverflow.com/questions/25232784
复制相似问题