Разница между драгоценным камнем и требованием (требуется open-uri)
Я просто хотел понять для себя.
Я использую nokogiri gem (для разбора HTML). Если бы я получил право открывать URL-адреса, мне нужно использовать метод из gem 'open-uri'.
Но когда я включаю его в свой Gemfile (на машине разработчика Windows):
gem 'open-uri'
- во время установки пакета появляется ошибка, что он не может найти драгоценный камень.
Итак, если я использую require 'open-uri'
- его работу.
Так можно объяснить, что происходит?
Ответы
Ответ 1
Вы используете bundler для своих заимствований драгоценных камней, и вы делаете это правильно, но OpenUri является частью стандартной библиотеки Ruby. Вот почему вам нужно только потребовать его, если вы хотите использовать его в своем коде.
Ответ 2
require
используется для загрузки другого файла и выполнения всех его операторов. Это служит для импорта всех определений классов и методов в файл. require
также отслеживает, какие файлы были предварительно необходимы, чтобы он не выполнял его дважды.
A RubyGem - это программный пакет, обычно называемый "жемчужиной". Драгоценные камни содержат упакованное приложение или библиотеку Ruby. Программное обеспечение RubyGems позволяет вам легко загружать, устанавливать и манипулировать драгоценными камнями в вашей системе.
- Что такое Gem?:
Затем Gemfile используется bundler для установки указанных драгоценных камней.
open-uri не является драгоценным камнем, а является частью стандартной библиотеки Ruby, поэтому ее нужно просто требовать.