简体   繁体   English

奇怪的行为 - irb和rails console

[英]strange behaviour - irb and rails console

The irb is giving true at first and then false always for the command require rails . irb首先给出true ,然后对于命令require rails始终为false

The rails console is giving false always. rails控制台始终是假的

How's this happening? 这是怎么回事?

Please see below cmd- 请看下面的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 

require returns false when what you're trying to require is already loaded - the first time you require 'rails' , it's not loaded, and require returns true. 当你想要的东西已经被加载时,require返回false - 第一次require 'rails' ,它没有被加载,并且require返回true。
The second time you require 'rails' , it is already loaded and require returns false. 第二次require 'rails' ,它已经加载并且需要返回false。

Rails is always loaded in the rails console. Rails总是在rails控制台中加载。

Check the docs for require , it states 它指出,检查文档是否需要

Loads the given name, returning true if successful and false if the feature is already loaded. 加载给定名称,如果成功则返回true,如果已加载该功能则返回false。

So the first time you call require in irb it loads and returns true. 因此,第一次在irb中调用require ,它会加载并返回true。 The second time it is already loaded so it returns false. 第二次它已经加载,所以它返回false。

When you call rails c it loads irb with your rails environment so it must have already required rails 当您调用rails c它会在您的rails环境中加载irb,因此它必须已经需要rails

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM