當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。