簡體   English   中英

如何在Ruby中訪問此嵌套哈希鍵的值?

[英]How do I access the value for this nested hash's key in Ruby?

我有以下哈希值:

{:charge_payable_response=>{:return=>"700", :ns2=>"http://ws.myws.com/"}}

如何獲取密鑰:return的值,在本示例中為700?

如果你有:

h = {:charge_payable_response=>{:return=>"700", :ns2=>"http://ws.myws.com/"}}

然后使用:

h[:charge_payable_response][:return]
# => "700"

冒號前綴表示哈希中的鍵是symbol ,這是一種特殊的唯一標識符:

符號對象表示Ruby解釋器中的名稱和一些字符串。 它們是使用:name和:“ string”文字語法以及各種to_sym方法生成的。 在程序執行期間,將為給定的名稱或字符串創建相同的Symbol對象,而不管該名稱的上下文或含義如何。 因此,如果Fred在一個上下文中是一個常量,在另一個上下文中是一個方法,而在第三個上下文中是一個類,則Symbol:Fred將在所有三個上下文中都是相同的對象。

如果:

data = { :charge_payable_response=> { :return=>"700", :ns2=>"http://ws.myws.com/" } }

然后使用以下方法獲取返回值:

data[:charge_payable_response][:return]

我會說應該是:

hash[charge_payable_response][return]

但是,不是在Ruby中return保留字嗎? 那可能會引起問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM