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