代码之家  ›  专栏  ›  技术社区  ›  sameera207

如何在Ruby中访问这个嵌套哈希键的值?

  •  0
  • sameera207  · 技术社区  · 15 年前

    我有以下散列:

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

    如何获取密钥的值 :return ,在本例中是700?

    3 回复  |  直到 15 年前
        1
  •  3
  •   John Feminella    15 年前

    如果您有:

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

    然后使用:

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

    symbol ,一种特殊的唯一标识符:

    Symbol对象表示Ruby解释器中的名称和一些字符串。它们是使用:name和:“string”文本语法生成的,并且是通过各种to\ sym方法生成的。在程序执行期间,将为给定的名称或字符串创建相同的符号对象,而不管该名称的上下文或含义如何。因此,如果Fred在一个上下文中是常量,在另一个上下文中是方法,在第三个上下文中是类,那么符号:Fred在所有三个上下文中都是同一个对象。

        2
  •  2
  •   drummondj    15 年前

    如果:

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

    data[:charge_payable_response][:return]
    
        3
  •  0
  •   user130076 user130076    15 年前

    我认为应该是:

    hash[charge_payable_response][return]
    

    但是,不是吗 return