本文簡要介紹ruby語言中 ENV.fetch
的用法。
用法
fetch(name) → value
fetch(name, default) → value
fetch(name) { |name| block } → value
如果 name
是環境變量的名稱,則返回其值:
ENV['foo'] = '0'
ENV.fetch('foo') # => '0'
否則,如果給出了一個塊(但不是默認值),則向該塊生成 name
並返回該塊的返回值:
ENV.fetch('foo') { |name| :need_not_return_a_string } # => :need_not_return_a_string
否則,如果給出了默認值(但不是塊),則返回默認值:
ENV.delete('foo')
ENV.fetch('foo', :default_need_not_be_a_string) # => :default_need_not_be_a_string
如果環境變量不存在並且同時給出了 default 和 block,則發出警告(“警告:block 取代默認值參數”),產生 name
給該塊,並返回該塊的返回值:
ENV.fetch('foo', :default) { |name| :block_return } # => :block_return
如果 name
有效但未找到,則引發 KeyError
,並且既沒有給出默認值也沒有給出塊:
ENV.fetch('foo') # Raises KeyError (key not found: "foo")
如果 name
無效,則引發異常。請參閱無效名稱和值。
相關用法
- Ruby ENV.freeze用法及代碼示例
- Ruby ENV.empty?用法及代碼示例
- Ruby ENV.delete_if用法及代碼示例
- Ruby ENV.inspect用法及代碼示例
- Ruby ENV.delete用法及代碼示例
- Ruby ENV.to_s用法及代碼示例
- Ruby ENV.to_h用法及代碼示例
- Ruby ENV.clear用法及代碼示例
- Ruby ENV.length用法及代碼示例
- Ruby ENV.key用法及代碼示例
- Ruby ENV.reject用法及代碼示例
- Ruby ENV.values用法及代碼示例
- Ruby ENV.select!用法及代碼示例
- Ruby ENV.rassoc用法及代碼示例
- Ruby ENV.invert用法及代碼示例
- Ruby ENV.value?用法及代碼示例
- Ruby ENV.select用法及代碼示例
- Ruby ENV.each_key用法及代碼示例
- Ruby ENV.reject!用法及代碼示例
- Ruby ENV.keys用法及代碼示例
- Ruby ENV.include?用法及代碼示例
- Ruby ENV.each_value用法及代碼示例
- Ruby ENV.except用法及代碼示例
- Ruby ENV.values_at用法及代碼示例
- Ruby ENV.replace用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 ENV.fetch。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。