Skip to content

Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →

class method

ENV.select!

ENV.select! {|name, value| ... } → ENV or nil
ENV.select! → an_enumerator
ENV.filter! {|name, value| ... } → ENV or nil
ENV.filter! → an_enumerator

Calls the block with each environment variable name and value, deleting each entry for which the block returns false or nil, and returning ENV if any deletions made, or nil otherwise:

Example
ENV.replace('foo' => '0', 'bar' => '1', 'baz' => '2')
ENV.select! { |name, value| name.start_with?('b') } # => ENV
ENV # => {"bar"=>"1", "baz"=>"2"}
ENV.select! { |name, value| true } # => nil

ENV.replace('foo' => '0', 'bar' => '1', 'baz' => '2')
ENV.filter! { |name, value| name.start_with?('b') } # => ENV
ENV # => {"bar"=>"1", "baz"=>"2"}
ENV.filter! { |name, value| true } # => nil

With no block given, returns a new Enumerator.

See also .select .shift .replace .size also in 4.0 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0