在本文中,我们将研究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>
说明:
在上面的代码中,您可以观察到,当我们在不使用该块的情况下调用该方法时,就会从该方法返回一个枚举数。