当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。