Ruby访问哈希元素
我有以下散列:Ruby访问哈希元素,ruby,arrays,Ruby,Arrays,我有以下散列: {"title"=>"ga:browser=Firefox", "dimensions"=>[{:browser=>"Firefox"}], "metrics"=>[{:pageviews=>25474}], "id"=>"http://www.google.com/analytics/feeds/data?ids=ga:3906565&ga:browser=Firefox&start-date=2010-02-
{"title"=>"ga:browser=Firefox", "dimensions"=>[{:browser=>"Firefox"}], "metrics"=>[{:pageviews=>25474}], "id"=>"http://www.google.com/analytics/feeds/data?ids=ga:3906565&ga:browser=Firefox&start-date=2010-02-06&end-date=2011-02-06", "updated"=>#<DateTime: 212163710400001/86400000,-1/3,2299161>}
{“title”=>“ga:browser=Firefox”,“dimensions”=>[{:browser=>“Firefox”}],“metrics”=>[{:pageviews=>25474}],“id”=>“http://www.google.com/analytics/feeds/data?ids=ga:3906565&;ga:browser=Firefox&;开始日期=2010-02-06&;结束日期=2011-02-06;“更新”=>#
如何打印页面浏览量的值?嗯,您有一个hashmap(不是数组),它将键“度量”
映射到一个数组。该数组包含一个散列作为其唯一元素。该散列将键:pageviews
映射到值25474
。因此,要获得该值,您可以执行以下操作:
the_hash["metrics"][0][:pageviews]
这假设带有
:pageviews
键的散列将始终位于数组中键“metrics”
映射到的位置0。谢谢,有没有简单的方法来判断它是散列映射还是数组?或者你能从结构上看出来吗?@Tom:哈希映射由大括号包围,数组由方括号包围。此外,如果散列不是空的,则它包含key=>value
形式的键值对,而数组只包含单个值(当然这些值本身可能是数组或散列)。您可以使用variablename.class
询问Ruby它是什么,其中“variablename”是您想要了解的某个变量。例如,variable={};放置变量。类将输出“哈希”或变量=[];放置变量。类
将输出“数组”。