Является ли `require "rubygems"` возвращающим `false` нормально?

Требующий "rubygems" дает false, но требующий "appium_lib" дает true, То есть,

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

Это нормально? Это не то же самое, что пытаться требовать чего-то, чего на самом деле не существует, то есть:

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

2 ответа

Решение

Это должно быть хорошо. Повторный запрос файла приводит к ложному ответу. С loadэто другая вещь, которая бы load (require) файл каждый раз, когда он запрашивается.

Так что это просто означает, что IRB начинается с rubygems уже требуется, что не удивительно.

Например, load интенсивно используется в режиме разработки Rails, поэтому ваши изменения могут быть немедленно показаны.

Начиная с Ruby 1.9 автоматически требуются рубины.

Когда ты require драгоценный камень, на самом деле вы просто помещаете каталог lib этого драгоценного камня в ваш $ LOAD_PATH. Если он возвращает false, это означает, что он уже находится в вашем $ LOAD_PATH.

Требуя драгоценный камень

Другие вопросы по тегам