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

Hash.each方法

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

方法说明:

此方法是在ruby库中定义的公共实例方法,特别是针对Hash类。此方法的工作方式是,对于哈希对象中存在的每个单个键,至少调用一次该块。哈希对象中存在的键值对作为参数传递。如果不提供任何块,则应期望枚举数作为每种方法的返回值。

语法:

    Hash_object.each{|key,value| block}

Argument(s) 需要:

此方法不接受任何参数。但是,您可以使用此方法传递一个块。

范例1:

=begin
  Ruby program to demonstrate each method
=end

hsh={"name"=>"Zorawar","class"=>"ukg","school"=>"AASSC","place"=>"Haridwar"}

puts "Hash each implementation"

str = hsh.each{|key,value| puts "#{key} is #{value}"}
puts str

输出结果

Hash each implementation
name is Zorawar
class is ukg
school is AASSC
place is Haridwar
{"name"=>"Zorawar", "class"=>"ukg", "school"=>"AASSC", "place"=>"Haridwar"}

说明:

在上面的代码中,您可能会观察到,借助于Hash.each方法,我们正在从哈希对象中打印每个键-值对。该方法正在调用一个块,该块将键值作为哈希对象的参数。该方法遍历哈希对象,对其进行处理并为我们提供所需的输出,或者您可以说让我们知道存储在特定键中的值。

范例2:

=begin
  Ruby program to demonstrate each method
=end

hsh={"name"=>"Zorawar","class"=>"ukg","school"=>"AASSC","place"=>"Haridwar"}

puts "Hash each implementation"

str = hsh.each
puts str

输出结果

Hash each implementation
#<Enumerator:0x0000558aa3b8d8b8>

说明:

在上面的代码中,您可以观察到,当我们在不使用该块的情况下调用该方法时,就会从该方法返回一个枚举数。