ruby hash方法
Hash.dig()方法 (Hash.dig() Method)
In this article, we will study about Hash.dig() Method. The working of this method can be predicted with the help of its name but it is not as simple as it seems. Well, we will understand this method with the help of its syntax and program code in the rest of the content.
在本文中,我们将研究Hash.dig()方法 。 可以借助其名称来预测此方法的工作,但是它并不像看起来那样简单。 好了,我们将在其余内容中借助其语法和程序代码来理解此方法。
Method description:
方法说明:
This method is a public instance method that is defined in the ruby library especially for Hash class. This method works in a way that takes out the nested value stored after a sequence of key objects. dig method is invoked at every step of the traverse. 'nil' is returned when no value is found at any specific step.
此方法是在ruby库中定义的公共实例方法,特别是针对Hash类。 此方法的工作方式是取出一系列关键对象之后存储的嵌套值。 遍历的每个步骤都会调用dig方法。 在任何特定步骤均未找到任何值时,将返回“ nil” 。
Syntax:
句法:
Hash_object.dig(obj, ...)
Argument(s) required:
所需参数:
You can pass any number of arguments inside this method. However, at least one argument is mandatory.
您可以在此方法内传递任意数量的参数。 但是,至少有一个论点是强制性的。
Example 1:
范例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
Output
输出量
Hash dig implementation
The value is Haridwar
Explanation:
说明:
In the above code, you can observe that we are digging some value from the hash object. We have passed three arguments inside the dig method namely country, state, and city. The method has traversed the hash object until it does not find the value. The method must have returned 'nil' if no value is found inside the hash object during the process of digging.
在上面的代码中,您可以观察到我们正在从哈希对象中挖掘一些值。 我们在dig方法中传递了三个论点,分别是国家,州和城市。 该方法遍历了哈希对象,直到找不到该值为止。 如果在挖掘过程中未在哈希对象内找到任何值,则该方法必须返回“ nil” 。
Example 2:
范例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)
Output
输出量
Hash dig implementation
11
Integer does not have #dig method
(repl):10:in `dig'
(repl):10:in `<main>'
Explanation:
说明:
In the above code, you can observe that we are digging value from the hash object which has a key and whose value is an integer array. You can utmost one value along with one key in case of the value of array type.
在上面的代码中,您可以观察到我们正在从哈希对象中挖掘值,该哈希对象具有一个键,其值是一个整数数组。 如果是数组类型,则最多只能有一个值和一个键。
翻译自: https://www.includehelp.com/ruby/hash-dig-method-with-example.aspx
ruby hash方法