我只是想爲自己理解。寶石和要求之間的區別(需要open-uri)
我正在使用nokogiri gem(用於解析HTML)。如果我打開URL的權利,我需要使用gem'open-uri'中的方法。
但是,當我有它在我的Gemfile(Windows 8開發者的計算機上):
gem 'open-uri'
- 有一個錯誤,而捆綁安裝,它無法找到寶石。
所以,如果我使用require 'open-uri'
- 它的工作。
那麼可以解釋一下怎麼回事?
我只是想爲自己理解。寶石和要求之間的區別(需要open-uri)
我正在使用nokogiri gem(用於解析HTML)。如果我打開URL的權利,我需要使用gem'open-uri'中的方法。
但是,當我有它在我的Gemfile(Windows 8開發者的計算機上):
gem 'open-uri'
- 有一個錯誤,而捆綁安裝,它無法找到寶石。
所以,如果我使用require 'open-uri'
- 它的工作。
那麼可以解釋一下怎麼回事?
require
用於加載另一個文件並執行其所有語句。這用於導入文件中的所有類和方法定義。 require
也會跟蹤以前需要哪些文件,因此它不會執行兩次。
RubyGem是一個軟件包,通常稱爲「寶石」。寶石包含一個打包的Ruby應用程序或庫。 RubyGems軟件本身允許您輕鬆地在系統上下載,安裝和操作寶石。 - What is a Gem?:
Gemfile然後被bundler用來安裝指定的寶石。
open-uri不是寶石,而是Ruby標準庫的一部分,所以只需要它。
謝謝。在gemfile或其他地方請求最好的「open-uri」在哪裏? – WHITECOLOR
如果你只在一個地方使用它,我會建議在調用之前或者在函數或文件的開頭。 – jlundqvist
非常感謝,感謝您的幫助和時間! – WHITECOLOR
謝謝。在gemfile或其他地方請求最好的「open-uri」在哪裏? – WHITECOLOR
通常,您應該在要使用該庫的文件的頂部要求它。如果它對你有幫助,請接受答案。 – lucapette
非常感謝! – WHITECOLOR