问题描述
需求:
从文件中统计不同ID在两种条件下出现的次数。
例如,文件中数据如下:
post 10001get 10001get 10002post 10001post 10002...
在Ruby代码中用Hash保存取到的值:
data = Hash.new{|h, key| h[key] = []}data[:post] << #valuedata[:get] << #value=begin 期待结果data[:post] => [2, 1]。10001 的 post 出现次数:2;10002 的 post 出现次数:1data[:get] => [1, 1]。10001 的 get 出现次数:1;10002 的 get 出现次数:1=end
循环遍历文件,分别对不同ID的两种统计,如何达到正确的效果呢?
注:文件中ID不固定,有若干个,生成的相应形式为:
data[:post] => [2, 1, n] # n为ID的第n次出现
问题解答
回答1:我建议这样
data[:post]=[]; data[:get]=[]data[:post][value]+=1data[:get][value]+=1=begin 结果data[:post][x] => post x 出现的次数data[:get][x] => get x 出现的次数