當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby Hash.delete_if用法及代碼示例


Hash.delete_if 方法

在本文中,我們將研究 Hash.delete_if 方法。這種方法的用法原理可以通過它的名字來預測,但它並不像看起來那麽簡單。那麽,我們將在其餘內容中借助其語法和程序代碼來理解該方法。

方法說明:

該方法是ruby庫中專門為Hash類定義的公共實例方法。此方法創建的更改是永久的或非臨時的。此方法的用法方式是刪除塊被評估為真的所有鍵。如果您不提供任何塊,則將返回一個枚舉器。

用法:

    Hash_object.delete_if{|key,value| block}

所需參數:

此方法不需要任何參數。但是,可以傳遞一個塊以獲得所需的結果。

範例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}"

輸出

Hash delete_if implementation
{"color"=>"Black", "age"=>20, "college"=>"Graphic Era University"}
Hash contents are:{"color"=>"Black", "age"=>20, "college"=>"Graphic Era University"}

說明:

在上麵的代碼中,您可以觀察到我們正在根據某些條件從哈希對象中刪除鍵。該方法返回一個散列,其中包含所有在條件測試時為假的鍵。該方法在哈希對象上創建永久更改。

範例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}"

輸出

Hash delete_if implementation
#<Enumerator:0x00005654a524a428>
Hash contents are:{"color"=>"Black", "age"=>20, "school"=>"Angels' Academy Haridwar", "college"=>"Graphic Era University"}

說明:

在上麵的代碼中,您可以觀察到,當我們在沒有任何塊的情況下調用該方法時,已經返回了一個枚舉數,而不會對實際哈希進行任何更改。



相關用法


注:本文由純淨天空篩選整理自 Hash.delete_if Method with Example in Ruby。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。