What is the ENV.delete_if method in Ruby?

Overview

The delete_if{} method is used to delete an environment variable that returns “true” when passed to a given block.

Syntax

ENV.delete_if{|name,value|condition}

Parameters

name: This represents the name of each environment value.

value: This represents the value of the environment variable name.

condition: This takes the environment variable name or value and returns “true” or “false” depending on what condition was specified.

Return value

The value returned is ENV.

Example

# create some environment variables
ENV["G"] = "Google"
ENV["N"] = "Netflix"
ENV["A"] = "Apple"
ENV["A"] = "Amazon"
ENV["M"] = "Meta"
ENV["FOO"] = ""
# delete some environment variables
# based on a condition
ENV.delete_if{|name, value| name.start_with?('A')}
# delete variables that starts with "A"
# print environment variables
puts ENV.values

Explanation

  • Lines 2–7: We create environment variables.
  • Line 11: We delete elements that start with the character "A".
  • Line 15: We print the environment variable values and discover that the variables that start with the character "A" were deleted.