Я видел много образцов кода Ruby с этой строкой (например, http://www.sinatrarb.com/). Что такое цель этого, требуют?
# require 'rubygems'
require 'sinatra'
get '/hi' do
"Hello world!"
end
Во всех случаях код работает без этой строки.
Часто бывает лишним. Это позволит вам запрашивать определенные версии определенных драгоценных камней с помощью команды gem
.
require 'rubygems'
настроит путь загрузки Ruby
, что позволит вам успешно запрашивать драгоценные камни, установленные вами через rubygems, без получения a LoadError: нет такого файла для загрузки - sinatra
.
Из документации rubygems-1.3.6:
Когда требуется RubyGems, Kernel # require заменяется нашим собственным , который может загружать драгоценные камни по запросу.
Когда вы вызываете require 'x', происходит следующее:
Если файл может быть загружен из существующего пути загрузки Ruby, это .
В противном случае в установленных гемах выполняется поиск файла, соответствующего . Если он находится в геме 'y', этот драгоценный камень активируется (добавляется в путь загрузки).
Обычная функция require по возврату false, если этот файл уже был загружен, сохраняется.
См. Документацию для Kernel # require , чтобы понять, почему это необходимо.