IRB返回NameError:未初始化的常量日期
问题描述:
红宝石V2.2.3应该有Date类预装到IRB,但是当我进入...IRB返回NameError:未初始化的常量日期
Date NameError: uninitialized constant Date from (irb):1 from /Users/noah/.rubies/ruby-2.2.3/bin/irb:11:in `'
为什么我应该有require Date
每一次,如果它是应该预装到2.2.3中?
答
你为什么说Date
被预装?它不是核心类,它是stdlib的一部分,因此需要它。相反,Time
是一个核心类。
答
日期未列为core class in v2.2.3或当前Ruby v2.3.1 core-classes,但时间是。下面是一些IRB输出:
$ irb -f
irb(main):001:0> Date.class
NameError: uninitialized constant Date
Did you mean? Data
from (irb):1
from /Users/ttm/.rbenv/versions/2.3.1/bin/irb:11:in `<main>'
irb(main):002:0> Time.class
=> Class
irb(main):003:0> Time.methods(false)
=> [:at, :now, :utc, :gm, :local, :mktime]
是关于时间的方法,在有限的子集,但:
irb(main):002:0> require 'time'
=> true
irb(main):003:0> Time.methods(false)
=> [:at, :now, :utc, :gm, :local, :mktime, :parse, :zone_offset, :strptime, :rfc2822, :rfc822, :httpdate, :xmlschema, :iso8601]
你就错了。那不是核心课。 –
请告诉我们在v2.2.3中预装日期的参考。 [2.2.3核心页面](http://ruby-doc.org/core-2.2.3/)不显示它。 –
Gotchya。我明显错误地指出了这一点。谢谢! –