2010-06-17 79 views

回答

3

如果您有:

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

然後使用:

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

冒號前綴是指在哈希關鍵是symbol,一種特殊的唯一標識符:

符號對象表示Ruby解釋器中的名稱和一些字符串。它們使用:name和:「string」文字語法以及各種to_sym方法生成。無論該名稱的上下文或含義如何,在程序執行期間,將爲給定名稱或字符串創建相同的符號對象。因此,如果弗雷德在一個語境中是一個常量,在另一個語境中是一個常量,而在另一個類別中是一個類別,則符號:弗雷德在所有三種情境中將是同一個對象。

+0

得到它的工作感謝您的幫助:D – sameera207 2010-06-17 18:41:08

0

我想說這應該是:

hash[charge_payable_response][return] 

但是,是不是return在Ruby中的保留字?這可能會導致問題。

+0

彼得嗨, 感謝您的快速回復,我寫了這樣的 把哈希[: charge_payable_response] [:ns2] 那麼它的工作沒有問題,但它一直給予0作爲回報.. 任何想法是什麼,它 歡呼聲, sameera – sameera207 2010-06-17 18:35:41

+0

得到它的工作感謝您的幫助:D – sameera207 2010-06-17 18:41:40

+1

這將無法正常工作; 'charge_payable_response'將被解析爲方法調用。 – 2010-06-17 20:05:58

2

如果:

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

然後得到的返回值使用:

data[:charge_payable_response][:return] 
+0

得到它的工作感謝您的幫助:D – sameera207 2010-06-17 18:42:02