我有以下散列:如何在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