as_hash ruby
Hash.delete_if方法 (Hash.delete_if Method)
In this article, we will study about Hash.delete_if Method. The working of this method can be predicted with the help of its name but it is not as simple as it seems. Well, we will understand this method with the help of its syntax and program code in the rest of the content.
在本文中,我们将研究Hash.delete_if方法 。 可以借助其名称来预测此方法的工作,但是它并不像看起来那样简单。 好了,我们将在其余内容中借助其语法和程序代码来理解此方法。
Method description:
方法说明:
This method is a public instance method that is defined in the ruby library especially for Hash class. The changes created by this method are permanent or non-temporary. This method works in a way that it will delete all the keys for which the block has been evaluated to be true. If you are not providing any block then an enumerator will be returned.
此方法是在ruby库中定义的公共实例方法,特别是针对Hash类。 通过此方法创建的更改是永久的或非临时的。 此方法以一种方式删除所有已被评估为真的键。 如果您不提供任何块,则将返回一个枚举器。
Syntax:
句法:
Hash_object.delete_if{|key,value| block}
Argument(s) required:
所需参数:
This method does not require any argument. However, a block can be passed for the desired result.
此方法不需要任何参数。 但是,可以传递一个块以获得所需的结果。
Example 1:
范例1:
=begin
Ruby program to demonstrate delete_if method
=end
hsh = Hash.new()
hsh["color"] = "Black"
hsh["age"] = 20
hsh["school"] = "Angels' Academy Haridwar"
hsh["college"] = "Graphic Era University"
puts "Hash delete_if implementation"
puts "#{hsh.delete_if{|key,value| key>="school"}}"
puts "Hash contents are : #{hsh}"
Output
输出量
Hash delete_if implementation
{"color"=>"Black", "age"=>20, "college"=>"Graphic Era University"}
Hash contents are : {"color"=>"Black", "age"=>20, "college"=>"Graphic Era University"}
Explanation:
说明:
In the above code, you can observe that we are removing keys from the hash object based on some condition. The method is returning a hash which is containing all those keys which stood false when the condition was tested on them. The method is creating permanent change on the hash object.
在上面的代码中,您可以观察到我们正在基于某种条件从哈希对象中删除键。 该方法将返回一个散列,其中包含所有在条件上进行过测试时都为假的键。 该方法在哈希对象上创建永久更改。
Example 2:
范例2:
=begin
Ruby program to demonstrate delete_if method
=end
hsh = Hash.new()
hsh["color"] = "Black"
hsh["age"] = 20
hsh["school"] = "Angels' Academy Haridwar"
hsh["college"] = "Graphic Era University"
puts "Hash delete_if implementation"
puts "#{hsh.delete_if}"
puts "Hash contents are : #{hsh}"
Output
输出量
Hash delete_if implementation
#<Enumerator:0x00005654a524a428>
Hash contents are : {"color"=>"Black", "age"=>20, "school"=>"Angels' Academy Haridwar", "college"=>"Graphic Era University"}
Explanation:
说明:
In the above code, you can observe that when we are invoking the method without any block, an enumerator has been returned without creating any changes in the actual hash.
在上面的代码中,您可以观察到,当我们在不带任何块的情况下调用该方法时,将返回一个枚举数,而不会在实际哈希中创建任何更改。
翻译自: https://www.includehelp.com/ruby/hash-delete_if-method-with-example.aspx
as_hash ruby