Home »
Ruby Tutorial
Hash == Operator in Ruby
By IncludeHelp Last updated : December 01, 2024
In the last article, we have seen how we can compare two hash objects with the help of <= operator? "<=" method is a public instance method defined in Ruby's library.
In this article, we will see the implementation of "==" operator. The working is pretty clear with the help of its name. It is not as simple as it seems. We will figure it out in the content of this article. We will understand it with the help of syntaxes and demonstrating program codes.
Description and Usage
This method is a public instance method that is defined in Ruby's library especially for Hash class. This method works in a way that it carries out a comparison between two different hashes and returns a Boolean value. The method returns true when the hash is equal to another hash and returns false if it is not equal to another Hash instance. Two hashes are considered to be equal if they contain the same number of keys and there key values should be the same as the corresponding object in another hash object.
Syntax
Hash == Hash_object -> true or false
Parameters
This method does not require any argument.
Example 1
=begin
Ruby program to demonstrate == operator
=end
hash1 = {"color"=> "Black", "object"=>"phone", "love"=>"mom","fruit"=>"Kiwi","pete"=>"potato"}
hash2= {"color"=> "Black", "object"=>"phone", "love"=>"mom","fruit"=>"Kiwi","vege"=>"potato"}
if(hash1==hash2)
puts "hash1 is equal to hash2"
else
puts "hash1 is not equal to hash2"
end
Output
hash1 is not equal to hash2
Explanation
In the above code, you can simply observe that the method has returned false inside the if the condition that is because the message is printed as "hash1 is not equal to hash2". This happened because hash1 is not having all the elements which are present in hash2 or it is not equal to hash2.
Example 2
=begin
Ruby program to demonstrate == operator
=end
hash1= {"color"=> "Black", "object"=>"phone", "love"=>"mom","fruit"=>"Kiwi","vege"=>"potato"}
hash2= {"color"=> "Black", "object"=>"phone", "love"=>"mom","fruit"=>"Kiwi","vege"=>"potato"}
if(hash1==hash2)
puts "hash1 is equal to hash2"
else
puts "hash1 is not equal to hash2"
end
Output
hash1 is equal to hash2
Explanation
In the above code, you can simply observe that the method has returned true inside the if the condition that is because the message is printed as "hash1 is equal to hash2". This happened because hash1 is having all the elements which are present in hash2 or it is equal to hash2.