`require "rubygems"` 返回 `false` 可以吗?

Is `require "rubygems"` returning `false` ok?

要求 "rubygems" 得到 false,但要求 "appium_lib" 得到 true。即,

require 'rubygems' # => false
require 'appium_lib' # => true

这样可以吗?这不像试图要求一些实际上不存在的东西,即:

require 'does_not_existxxxxxxx' # => LoadError: cannot load such file -- does_not_existxxxxxxx

应该没问题。第二次请求文件会导致错误响应。对于 load,这是另一回事,每次请求时都会 load (require) 文件。

所以这只是意味着 irb 开始时已经需要 rubygems,这并不奇怪。

例如,load在Rails开发模式中大量使用,因此您的更改可以立即显示。

因为 Ruby 自动需要 1.9 ruby​​gems。

当你 require 一个 gem 时,实际上你只是将那个 gem 的 lib 目录放到你的 $LOAD_PATH。如果它 returns 为假,则意味着它已经在您的 $LOAD_PATH 中。

Requiring a Gem