2012-12-04 40 views
1

IRB是给在第一个真正的然后总是命令需要轨道奇怪的行为 - IRB和轨道控制台

导轨控制台正在给总是。

这是怎么回事?

请参考下面CMD-

~/Workspaces/eclipse/image_cropper_ws/image_cropper$ irb 

1.9.2-p180 :001 > require 'rails' 
=> true 
1.9.2-p180 :002 > require 'rails' 
=> false 
1.9.2-p180 :003 > exit 



~/Workspaces/eclipse/image_cropper_ws/image_cropper$ rails console 
Loading development environment (Rails 3.2.8) 

1.9.2-p180 :001 > require 'rails' 
=> false 
1.9.2-p180 :002 > require 'rails' 
=> false 

回答

2

要求的回报false当你想要求什么已经加载 - 你第一次require 'rails',这不是装,并要求返回true。
第二次你require 'rails',它已经加载,并要求返回false。

Rails始终装载在导轨控制台中。

+0

哦,我认为只有在成功地要求我们的项目的导轨否则为false的情况下,require命令才会赋予true。重点是它正在写入它的时刻根据加载返回。 –

1

检查文档为require,它指出

加载一个给定的名称,如果该功能已经被加载返回true,如果成功的和虚假的。

因此,您第一次在irb中调用require时,它会加载并返回true。第二次它已经被加载,所以它返回false。

当你调用rails c加载IRB与Rails环境,所以必须已经要求rails