потребуйте 'rubygems'

Я видел много образцов кода Ruby с этой строкой (например, http://www.sinatrarb.com/). Что такое цель этого, требуют?

# require 'rubygems'
require 'sinatra'
get '/hi' do
  "Hello world!"
end

Во всех случаях код работает без этой строки.

35
задан Andrew Grimm 9 November 2011 в 02:38
поделиться

2 ответа

Часто бывает лишним. Это позволит вам запрашивать определенные версии определенных драгоценных камней с помощью команды gem .

https://guides.rubygems.org/patterns/#requiring-rubygems

17
ответ дан 27 November 2019 в 07:13
поделиться

require 'rubygems' настроит путь загрузки Ruby , что позволит вам успешно запрашивать драгоценные камни, установленные вами через rubygems, без получения a LoadError: нет такого файла для загрузки - sinatra .

Из документации rubygems-1.3.6:

Когда требуется RubyGems, Kernel # require заменяется нашим собственным , который может загружать драгоценные камни по запросу.

Когда вы вызываете require 'x', происходит следующее:

  • Если файл может быть загружен из существующего пути загрузки Ruby, это .

  • В противном случае в установленных гемах выполняется поиск файла, соответствующего . Если он находится в геме 'y', этот драгоценный камень активируется (добавляется в путь загрузки).

Обычная функция require по возврату false, если этот файл уже был загружен, сохраняется.

См. Документацию для Kernel # require , чтобы понять, почему это необходимо.

24
ответ дан 27 November 2019 в 07:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: