簡體   English   中英

我怎么知道我需要明確要求的Ruby標准庫?

[英]How can I know what Ruby standard libraries I need to explicitly require?

我一直在查看1.9.3的Ruby標准庫文檔 我想知道如何找出我需要明確要求的庫。

例如,我被告知我需要明確要求json庫,但不要求rubygems ,盡管它們都出現在標准庫列表中。

還有另一個地方我可以查找有關要求的信息,甚至是我可以運行的pry / irb命令來查看已經“需要”的內容嗎?

如果要使用它,必須要求/加載每個庫。

性能方面, require是智能的,如果已加載庫,則不會加載庫。

但是,如果要檢查是否需要庫,則應該看到它定義的頂級命名空間,並檢查它是否在當前范圍中定義。 例如,打開IRB會話並執行:

defined? JSON  # => nil (it's not loaded)
require 'json' # => true (load it)
defined? JSON  # => "constant" (it's loaded)
require 'json' # => false (it's already loaded, so it's not loaded it again)

無論如何要求事情通常都沒有壞處。 如果它們已經被加載,一般來說, require語句沒有效果。

某些核心庫組件可以通過引用其頂級符號自動加載或自動加載。 這個列表從Ruby的一個版本到另一個版本不等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM