Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby访问哈希元素_Ruby_Arrays - Fatal编程技术网

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&amp;ga:browser=Firefox&amp;start-date=2010-02-06&amp;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={};放置变量。类将输出“哈希”或
变量=[];放置变量。类
将输出“数组”。