Unterschied zwischen Juwel und erfordern (erfordern Open-URI)
Ich wollte nur zu verstehen für mein selbst.
Ich bin mit dem nokogiri gem (zum Parsen von HTML). Wenn ich es Recht zum öffnen von URLs, die ich brauche, um zu verwenden, eine Methode aus der gem 'open-uri'.
Aber wenn ich es in meinem Gemfile (auf Windows-Entwickler-Maschine):
gem 'open-uri'
- es ist ein Fehler bei der bundle installieren, dass es nicht finden können, gem.
So, Wenn ich require 'open-uri'
- seine Arbeit.
So einiges erklären, was ist Los?
InformationsquelleAutor der Frage WHITECOLOR | 2011-12-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bist du mit bundler für Ihr gem-Abhängigkeiten und du machst es richtig, aber OpenUri ist Teil der Ruby-standard-Bibliothek. Das ist, warum Sie nur müssen, benötigen Sie, wenn Sie möchten verwenden es in Ihrem code.
InformationsquelleAutor der Antwort lucapette
require
verwendet wird, laden Sie eine andere Datei und führen Sie alle Ihre Anweisungen. Dies dient zum importieren von allen Klassen-und methodendefinitionen in der Datei.require
auch verfolgt, welche Dateien wurden zuvor erforderlich, damit es nicht ausführen es zweimal.Einen RubyGem ist ein software-Paket, die gemeinhin als ein "Juwel". Edelsteine enthalten eine gepackte Ruby-Anwendung oder Bibliothek. Die RubyGems-software selbst können Sie bequem herunterladen, installieren und manipulieren von Edelsteinen auf Ihrem system.
- Was ist ein Edelstein?:
Dem Gemfile ist dann durch bundler zu installieren, die angegebenen Edelsteine.
open-uri ist nicht ein Edelstein, sondern ist Teil der Ruby-Standard-Bibliothek, so dass es muss nur erforderlich sein.
InformationsquelleAutor der Antwort jlundqvist