ruby 生成哈希值
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.
在上一篇文章中,我们看到了如何在<=运算符的帮助下比较两个哈希对象 ? “ <=“方法是Ruby库中定义的公共实例方法。
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.
在本文中,我们将看到“ ==” operator的实现 。 借助其名称,工作非常清晰。 它并不像看起来那么简单。 我们将在本文的内容中找到答案。 我们将借助语法和演示程序代码来理解它。
Method description:
方法说明:
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.
此方法是在Ruby的库中定义的公共实例方法,特别是针对Hash类。 该方法的工作方式是在两个不同的哈希值之间进行比较并返回一个布尔值。 当哈希等于另一个哈希时,该方法返回true;如果不等于另一个哈希实例,则返回false。 如果两个散列包含相同数量的键,并且那里的键值应与另一个散列对象中的对应对象相同,则认为它们是相等的。
Syntax:
句法:
Hash == Hash_object -> true or false
Parameter(s) required:
所需参数:
This method does not require any argument.
此方法不需要任何参数。
Example 1:
范例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.
在上面的代码中,您可以简单地观察到,如果条件是因为消息被打印为“ hash1不等于hash2” ,则该方法在false内返回了false。 发生这种情况是因为hash1并不具有hash2中存在的所有元素,或者它不等于hash2。
Example 2:
范例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.
在上面的代码中,您可以简单地观察到,如果条件是因为消息被打印为“ hash1等于hash2” ,则该方法在true内部返回了true。 发生这种情况是因为hash1具有hash2中存在的所有元素,或者它等于hash2。
翻译自: https://www.includehelp.com/ruby/hash-equal-to-operator.aspx
ruby 生成哈希值