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


Ruby Hash.compact用法及代碼示例


Hash.compact 方法

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

方法說明:

這個方法是一個公共實例方法,它是在 Ruby 的庫中專門為 Hash 類定義的。這種方法是非破壞性方法的例子之一,該方法帶來的變化不是永久性的或暫時的。這些類型的方法不會影響自哈希實例。此方法的用法方式是從散列中刪除所有包含 nil 值的鍵,並返回一個不包含任何 nil 值的新 Hash 對象。

用法:

    Hash_object.compact

所需參數:

此方法不接受任何參數。

範例1:

=begin
  Ruby program to demonstrate compact method
=end	

hash1= {"color"=> "Black", "object"=>nil, "love"=>"mom","fruit"=>"Kiwi","vege"=>"potato"}

puts "Hash compact implementation"

puts "Elements after compact operation:#{hash1.compact}"
puts "Array elements are:"
puts "#{hash1}"

輸出

Hash compact implementation
Elements after compact operation:{"color"=>"Black", "love"=>"mom", "fruit"=>"Kiwi", "vege"=>"potato"}
Array elements are:
{"color"=>"Black", "object"=>nil, "love"=>"mom", "fruit"=>"Kiwi", "vege"=>"potato"}

說明:

在上麵的代碼中,您可以觀察到我們在 Hash.compact 方法的幫助下從哈希對象中刪除了 nil 值鍵。此方法不會對實際散列實例帶來任何更改,因為此方法是非破壞性方法的一個示例,您可以在程序打印調用該方法的原始散列時自己觀察這一點。

範例2:

=begin
  Ruby program to demonstrate compact method
=end	

hash1= {"color"=> [nil,nil,"black"], "object"=>nil, "love"=>"mom","fruit"=>"Kiwi","vege"=>"potato"}

puts "Hash compact implementation"

puts "Elements after compact operation:#{hash1.compact}"
puts "Array elements are:"
puts "#{hash1}"

輸出

Hash compact implementation
Elements after compact operation:{"color"=>[nil, nil, "black"], "love"=>"mom", "fruit"=>"Kiwi", "vege"=>"potato"}
Array elements are:
{"color"=>[nil, nil, "black"], "object"=>nil, "love"=>"mom", "fruit"=>"Kiwi", "vege"=>"potato"}

說明:

在上麵的代碼中,您可以觀察到 Hash.compact 方法對具有多個鍵和多個值的哈希不起作用。該方法返回原始哈希而不刪除 nil 值鍵。



相關用法


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