Ruby中带有示例的Hash.reject方法

哈希拒绝方法

在本文中,我们将研究Hash.reject方法。可以借助其名称来预测此方法的工作,但是它并不像看起来那样简单。好吧,我们将在其余内容中借助其语法和程序代码来理解此方法。

方法说明:

此方法是在ruby库中定义的公共实例方法,特别是针对Hash类。此方法创建的更改不是永久的或临时的,因为此方法是非破坏性方法的一个示例。此方法的工作方式是删除已被评估为false的所有键。如果您不提供任何块,则将返回一个枚举器。

语法:

    Hash_object.reject{|key,value| block}

Argument(s) 需要:

此方法不需要任何参数。但是,可以传递一个块以获得所需的结果。

范例1:

=begin
  Ruby program to demonstrate reject method
=end	

hsh = Hash.new()hsh["color"] = "Black"
hsh["age"] = 20
hsh["school"] = "Angels' Academy Haridwar"
hsh["college"] = "Graphic Era University"

puts "Hash reject implementation"

puts "#{hsh.reject{|key,value| key>="school"}}"

puts "Hash contents are : #{hsh}"

输出结果

Hash reject implementation
{"color"=>"Black", "age"=>20, "college"=>"Graphic Era University"}
Hash contents are : {"color"=>"Black", "age"=>20, "school"=>"Angels' Academy Haridwar", "college"=>"Graphic Era University"}

说明:

在上面的代码中,您可以观察到我们正在基于某种条件从哈希对象中删除键。该方法返回一个散列,其中包含在对条件进行测试时所有设置为假的那些键。该方法未在哈希对象上创建永久更改。

范例2:

=begin
  Ruby program to demonstrate reject method
=end	

hsh = Hash.new()hsh["color"] = "Black"
hsh["age"] = 20
hsh["school"] = "Angels' Academy Haridwar"
hsh["college"] = "Graphic Era University"

puts "Hash reject implementation"

puts "#{hsh.reject}"

puts "Hash contents are : #{hsh}"

输出结果

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

说明:

在上面的代码中,您可以观察到,当我们在不带任何块的情况下调用该方法时,将返回一个枚举数,而不会在实际哈希中创建任何更改。