ENV is a hash-like accessor for environment
When you get the value for a name in ENV, the value
is retrieved from among the current environment variables.
When you create or set a name-value pair in ENV, the
name and value are immediately set in the environment variables.
When you delete a name-value pair in ENV, it is
immediately deleted from the environment variables.
An object that responds to #to_str by returning a String, in which case that String will be used as the name or value.
May not be the empty string:
May not contain character
May not be a non-String that does not respond to #to_str:
May not contain the NUL character
May not have an ASCII-incompatible encoding such as UTF-16LE or
A Hash returned by an ENV
An Enumerator returned by an ENV method.
An Array returned by ::keys, ::values, or ::to_a.
The String returned by ::inspect.
The Array returned by ::shift.
The name returned by ::key.
::replace replaces ENV with a new collection of entries.
::clear empties ENV.