2010-06-17 81 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