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


Ruby Hash.dig()用法及代码示例


Hash.dig() 方法

在本文中,我们将研究 Hash.dig() 方法。这种方法的用法原理可以通过它的名字来预测,但它并不像看起来那么简单。那么,我们将在其余内容中借助其语法和程序代码来理解该方法。

方法说明:

该方法是ruby库中专门为Hash类定义的公共实例方法。此方法的用法方式是取出存储在一系列键对象之后的嵌套值。在遍历的每一步都会调用 dig 方法。 'nil' 在任何特定步骤未找到值时返回。

用法:

    Hash_object.dig(obj, ...)

所需参数:

您可以在此方法中传递任意数量的参数。但是,至少有一个参数是强制性的。

范例1:

=begin
  Ruby program to demonstrate dig method
=end	

hsh = {country:{state:{city:"Haridwar"}}}

puts "Hash dig implementation"

if(hsh.dig(:country,:state,:city))
	puts "The value is #{hsh.dig(:country,:state,:city)}"
else
	puts "Value not available"
end

输出

Hash dig implementation
The value is Haridwar

说明:

在上面的代码中,您可以观察到我们正在从哈希对象中挖掘一些值。我们在 dig 方法中传递了三个参数,即国家、州和城市。该方法遍历了哈希对象,直到找不到该值。如果在挖掘过程中没有在哈希对象中找到值,则该方法必须返回 'nil'。

范例2:

=begin
  Ruby program to demonstrate dig method
=end

hsh = { foo:[10, 11, 12] }

puts "Hash dig implementation"

puts hsh.dig(:foo, 1)              
puts hsh.dig(:foo, 1, 0)           
puts hsh.dig(:foo,:bar)

输出

Hash dig implementation
11
Integer does not have #dig method
(repl):10:in `dig'
(repl):10:in `<main>'

说明:

在上面的代码中,您可以观察到我们正在从具有键且值为整数数组的哈希对象中挖掘值。对于数组类型的值,您可以将一个值和一个键一起最大化。



相关用法


注:本文由纯净天空筛选整理自 Hash.dig() Method with Example in Ruby。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。