2015-12-27 51 views
-1

require 'lib'的返回值在紅寶石中表示何謂'lib'是任何想要包含的庫?紅寶石中的require語句的返回值

例如,當我運行

>>> require 'nmatrix' 

我得到False作爲返回值。這是什麼意思?

+0

倒票的原因是什麼? – Lokesh

+4

我想在查詢之前不要檢查文檔。 – hrust

+3

關於[我如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)的指導方針之一是「搜索和研究」 - 這可能意味着您的家務工作需要找到一個答案。現在,在發表評論時,這個問題有兩個答案 - 我建議你閱讀'require'方法的文檔 - http://ruby-doc.org/core-2.2.3/Kernel.html#方法 - 我 - 要求並回答自己是否有任何答案確實提供了比文檔中已有的更多細節。 –

回答

5

require返回false如果給定的庫已經被加載。

>> require 'time' 
=> true # time.rb was successfully loaded 
>> require 'time' 
=> false # time.rb was already found in-memory, it won't be loaded again 

要求已經加載的庫在Ruby中不起作用。返回標誌在那裏爲您提供信息。 A false結果轉換爲:「你要求我加載這個庫,但它已經在內存中,我不會再加載它」。

另一方面,您有load,它將每次調用加載並執行文件名的內容。

1

這意味着,該庫已經加載。

require 加載給定的名稱,如果 功能已經被加載返回true,如果成功的和虛假的。

>> val = require 'set' 
=> true 
>> val_two = require 'set' 
=> false 
>> val 
=> true 
>> val_two 
=> false