我有以下散列:如何在Ruby中訪問此嵌套哈希鍵的值?
{:charge_payable_response=>{:return=>"700", :ns2=>"http://ws.myws.com/"}}
我怎樣才能拿到鑰匙:return
的價值,在這個例子中是700?
我有以下散列:如何在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方法生成。無論該名稱的上下文或含義如何,在程序執行期間,將爲給定名稱或字符串創建相同的符號對象。因此,如果弗雷德在一個語境中是一個常量,在另一個語境中是一個常量,而在另一個類別中是一個類別,則符號:弗雷德在所有三種情境中將是同一個對象。
我想說這應該是:
hash[charge_payable_response][return]
但是,是不是return
在Ruby中的保留字?這可能會導致問題。
彼得嗨, 感謝您的快速回復,我寫了這樣的 把哈希[: charge_payable_response] [:ns2] 那麼它的工作沒有問題,但它一直給予0作爲回報.. 任何想法是什麼,它 歡呼聲, sameera – sameera207 2010-06-17 18:35:41
得到它的工作感謝您的幫助:D – sameera207 2010-06-17 18:41:40
這將無法正常工作; 'charge_payable_response'將被解析爲方法調用。 – 2010-06-17 20:05:58
如果:
data = { :charge_payable_response=> { :return=>"700", :ns2=>"http://ws.myws.com/" } }
然後得到的返回值使用:
data[:charge_payable_response][:return]
得到它的工作感謝您的幫助:D – sameera207 2010-06-17 18:42:02
得到它的工作感謝您的幫助:D – sameera207 2010-06-17 18:41:08