在ruby中返回require语句的值

时间:2015-12-27 16:57:18

标签: ruby require

require 'lib'的返回值在ruby中表示' lib'是谁想要包括哪个图书馆?

例如,当我跑

>>> require 'nmatrix'

我得到False作为返回值。这是什么意思?

2 个答案:

答案 0 :(得分:6)

如果已经加载了给定的库,

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中没有效果。返回标志用于为您提供信息。 false结果转换为:“您已经要求我加载此库,但它已经在内存中,我不打算再次加载”。

另一方面,你有load,它将加载并执行文件名每次的内容。

答案 1 :(得分:1)

这意味着该库已经加载。

  

require   加载给定的名称,如果成功则返回true,如果是,则返回false   功能已加载。

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