我有以下哈希:
{:charge_payable_response=>{:return=>"700", :ns2=>"http://ws.myws.com/"}}
如何获取密钥:return
的值,在此示例中为700?
答案 0 :(得分:3)
如果你有:
h = {:charge_payable_response=>{:return=>"700", :ns2=>"http://ws.myws.com/"}}
然后使用:
h[:charge_payable_response][:return]
# => "700"
冒号前缀表示哈希中的键是symbol,这是一种特殊的唯一标识符:
Symbol对象表示Ruby解释器中的名称和一些字符串。它们是使用:name和:“string”文字语法以及各种to_sym方法生成的。无论该名称的上下文或含义如何,都将在程序执行期间为给定名称或字符串创建相同的Symbol对象。因此,如果Fred是一个上下文中的常量,另一个中的方法,以及第三个中的类,则Symbol:Fred将在所有三个上下文中都是相同的对象。
答案 1 :(得分:2)
如果:
data = { :charge_payable_response=> { :return=>"700", :ns2=>"http://ws.myws.com/" } }
然后使用获取返回值:
data[:charge_payable_response][:return]
答案 2 :(得分:0)
我会说它应该是:
hash[charge_payable_response][return]
但是,Ruby中return
不是保留字吗?这可能会导致问题。