【问题标题】:irb returning NameError: uninitialized constant Dateirb 返回 NameError: uninitialized constant Date
【发布时间】:2016-08-25 15:52:02
【问题描述】:

ruby-v2.2.3 应该将 Date 类预加载到 irb 中,但是当我进入时...

日期 NameError:未初始化的常量日期 来自 (irb):1 来自 /Users/noah/.rubies/ruby-2.2.3/bin/irb:11:in `'

如果它应该被预加载到 2.2.3 中,为什么我每次都必须require Date

【问题讨论】:

  • 你错了。那不是核心课程。
  • 请向我们展示在 v2.2.3 中预加载日期的参考。 2.2.3 core page 没有显示。
  • Gotchya。在这一点上我显然错了。谢谢!

标签: ruby date irb nameerror uninitialized-constant


【解决方案1】:

日期未列为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]

不过,这是 Time 方法的一个有限子集:

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]

【讨论】:

    【解决方案2】:

    为什么说Date 是预加载的?它不是核心类,它是标准库的一部分,因此需要它。 Time 是一个核心类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多