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


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