×

Ruby Tutorial

Ruby Basics

Ruby Control Statements

Ruby Methods

Ruby Classes and Methods

Ruby Arrays

Ruby Sets

Ruby Strings

Ruby Classes & Objects

Ruby Hash

Ruby Tools

Ruby Functions

Ruby Built-in Functions

Misc.

Ruby Programs

Removing elements from Array using Array.delete() and Array.delete_at() in Ruby

By IncludeHelp Last updated : November 22, 2024

In the last article, we have seen how we can remove the elements from an instance of Array class with the help of Array.pop() and Array.shift()?

Those were the two methods that do not take any arguments. For a quick revision, let me remind you that Array.pop() removes the element from the backside or from the end of the Array so there is no need to pass any argument as whichever the element is found by the method as the last one will be removed.

The same goes for the Array.shift() method. It is totally opposite of the Array.pop() and removes the article from the front of the Array. Here also, you don't need to pass any argument because whichever element is found by the method as the first element will be removed. In the article, we will discuss two more such methods which will help us to remove the elements from the Array and they are namely Array.delete() and Array.delete_at(). We will learn how to implement them with the help of their syntaxes and their supporting examples.

Removing elements from Array using Array.delete_at() method

In Array.delete_at() method, we have to pass the index of the element we want to delete from the instance of Array class. The interpreter will not give an error if you will provide an index that is not available in the Array. Instead, it will give you the null if the provided index is not found.

Syntax

Array.delete_at(index)

Here, index represents the position of the element in the Array to be deleted.

Example

=begin
Ruby program to remove elements from Array using 
Array.delete_at() method	
=end

# Array declaration
Adc = ['Includehelp.com','Ruby','C++','C#','Java','Python']

# input the index/position
puts "Enter the index of element you want to delete:"
ind = gets.chomp.to_i

# checking the index bound and removing
# the element
if(ind>=0 && ind<Adc.count)
  # removing the element
  Adc.delete_at(ind)
  # printing the array
  puts "Array elements after remove operation:"
  puts Adc
else
	puts "Index is not valid"
end

Output

Enter the index of element you want to delete:
 3
Array elements after remove operation:
Includehelp.com
Ruby
C++
Java
Python

Explanation

In the above code, you can observe that we are taking input from the user and that input is nothing but the index of the element which the user wants to remove from the Array. We are proceeding with the help of the Array.delete_at() method which is removing the element.

Removing elements from Array using Array.delete() method

As the name suggests, Array.delete() will delete all the elements present in the array which are having the same as passed in the method. Alike Array.delete_at(), this method doesn't work with the help of index instead we need to pass the element name inside this method.

Syntax

Array.delete(element)

Here, element represents the element in the Array to be deleted. (Note: It will search the availability of that element and will delete all the same name element from the Array.)

Example

=begin
Ruby program to remove elements from Array using 
Array.delete	
=end

# array declaration
Adc = ['Includehelp.com','Ruby','C++','C#','Java','Python','C++']

# input the element
puts "Enter the element you want to delete:"
element = gets.chomp

# removing the element
Adc.delete(element)

# printing the element
puts "Array elements after remove operation:"
puts Adc

Output

RUN 1:
Enter the element you want to delete:
 C++
Array elements after remove operation:
Includehelp.com
Ruby
C#
Java
Python

RUN 2:
Enter the element you want to delete:
 Perl
Array elements after remove operation:
Includehelp.com
Ruby
C++
C#
Java
Python
C++

Explanation

In the above code and output, you can observe that the user has entered "C++" as the argument and all the elements named "C++" got deleted from the Array. In RUN 2, you can observe that the method imposes no effect if the element is not found in the Array.

Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.