Ruby中的哈希== 运算符

在上一篇文章中,我们看到了如何在<=运算符的帮助下比较两个哈希对象?“ <=“方法是在Ruby的库中定义的公共实例方法。

在本文中,我们将看到“ ==” operator的实现。借助其名称,工作非常清晰。它并不像看起来那么简单。我们将在本文的内容中找到答案。我们将借助语法和演示程序代码来理解它。

方法说明:

此方法是在Ruby的库中定义的公共实例方法,特别是针对Hash类。该方法的工作方式是在两个不同的哈希值之间进行比较并返回一个布尔值。当哈希值等于另一个哈希值时,该方法返回true;如果哈希值不等于另一个Hash实例,则返回false。如果两个散列包含相同数量的键,并且那里的键值应与另一个散列对象中的对应对象相同,则认为它们是相等的。

语法:

Hash == Hash_object -> true or false

Parameter(s) 需要:

此方法不需要任何参数。

范例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

输出结果

hash1 is not equal to hash2

说明:

在上面的代码中,您可以简单地观察到,如果条件是因为消息被打印为“ hash1不等于hash2”,则该方法在false内返回了false 。发生这种情况是因为hash1并不具有hash2中存在的所有元素,或者它不等于hash2。

范例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

输出结果

hash1 is equal to hash2

说明:

在上面的代码中,您可以简单地观察到,如果条件是因为消息被打印为“ hash1等于hash2”,则该方法在true内部返回了true 。发生这种情况是因为hash1具有hash2中存在的所有元素,或者它等于hash2。