1

irbは、最初はtrueを与え、次にコマンドrequirerailsに対して常にfalse与えます。

レールコンソールは常にfalseを与えています。

これはどうして起こっているのですか?

以下の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 
4

2 に答える 2

2

requirefalseしようとしているものが既にロードされている場合、require は戻ります - 初めてrequire 'rails'、ロードされておらず、require は true を返します。
2 回目require 'rails'には、既にロードされており、require は false を返します。

Rails は常に Rails コンソールにロードされます。

于 2012-12-04T12:34:45.013 に答える
1

requireのドキュメントを確認してください。

指定された名前を読み込み、成功した場合は true を返し、機能が既に読み込まれている場合は false を返します。

requireしたがって、 irbを初めて呼び出すと、読み込まれて true が返されます。2 回目はすでにロードされているため、false を返します。

呼び出すrails cと、Rails 環境で irb が読み込まれるため、既に必要なはずです。rails

于 2012-12-04T12:34:23.477 に答える