Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 加载帮助文档会改变irb结果_Ruby_Initialization_Irb - Fatal编程技术网

Ruby 加载帮助文档会改变irb结果

Ruby 加载帮助文档会改变irb结果,ruby,initialization,irb,Ruby,Initialization,Irb,我正在学习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 =>

我正在学习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> 
$irb
irb(主):001:0>Date.new
=> # 
irb(主):002:0>Date.constants
=> [] 
irb(主):003:0>帮助日期
=>零
irb(主):004:0>Date.constants
=>[:MONTHNAMES,:ABBR_MONTHNAMES,:DAYNAMES,:ABBR_DAYNAMES,:意大利,:英格兰,:朱利安,:格里高利,:无限]
irb(主要):005:0>
我被这弄糊涂了。问题:

  • 为什么阅读帮助文档会导致
    Date.constants
    的输出发生更改
  • 大概
    help
    正在加载/初始化某些内容。这是怎么一回事?为什么
    Date.new
    有效
  • 在编写.rb文件时,这是我需要担心的问题吗

这对谷歌来说很难做到。我使用的是ruby 2.1.2和irb 0.9.6。

运行
help Date
后添加
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
带有默认构造函数

我怀疑这对你来说会有问题