File: C:/Ruby27-x64/share/ri/2.7.0/system/ENV/fetch-c.ri
U:RDoc::AnyMethod[iI"
fetch:ETI"ENV::fetch;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"IIf +name+ is the name of an environment variable, returns its value:;To:RDoc::Markup::Verbatim; [I"ENV['foo'] = '0'
;TI"ENV.fetch('foo') # => '0'
;T:@format0o;
; [I">Otherwise if a block is given (but not a default value), ;TI"Eyields +name+ to the block and returns the block's return value:;To;; [I"ZENV.fetch('foo') { |name| :need_not_return_a_string } # => :need_not_return_a_string
;T;0o;
; [I"XOtherwise if a default value is given (but not a block), returns the default value:;To;; [I"ENV.delete('foo')
;TI"XENV.fetch('foo', :default_need_not_be_a_string) # => :default_need_not_be_a_string
;T;0o;
; [I"VIf the environment variable does not exist and both default and block are given, ;TI"Lissues a warning ("warning: block supersedes default value argument"), ;TI"Fyields +name+ to the block, and returns the block's return value:;To;; [I"LENV.fetch('foo', :default) { |name| :block_return } # => :block_return
;T;0o;
; [I"8Raises KeyError if +name+ is valid, but not found, ;TI"2and neither default value nor block is given:;To;; [I"?ENV.fetch('foo') # Raises KeyError (key not found: "foo")
;T;0o;
; [I"/Raises an exception if +name+ is invalid. ;TI"OSee {Invalid Names and Values}[#class-ENV-label-Invalid-Names+and+Values].;T:
@fileI"hash.c;T:0@omit_headings_from_table_of_contents_below0I"~ENV.fetch(name) -> value
ENV.fetch(name, default) -> value
ENV.fetch(name) { |name| block } -> value
;T0[ I"(*args);T@3FI"ENV;TcRDoc::NormalClass00