【发布时间】:2013-04-20 01:11:37
【问题描述】:
我有一个从数据库中获取的 Ruby 数组,当我打印它时看起来像这样:
<% @Aarr.each do |row1| %>
<%= row1[0] %> : <%= row1[1] %> : <%= row1[2] %>
<br>
<% end %>
输出:
10.0.1.50 : 8k : IP
10.0.1.50 : 8k : UMTS
10.0.1.51 : 8k : IP
10.0.1.51 : 8k : UMTS
10.0.1.50 : 9k : IP
10.0.1.50 : 9k : Stability
10.0.1.50 : 9k : UMTS
11.0.1.50 : 9k : IP
11.0.1.50 : 9k : UMTS
我想对此应用某种散列,结果应如下所示:
10.0.1.50 : 8k : 2
10.0.1.51 : 8k : 2
10.0.1.50 : 9k : 3
11.0.1.50 : 9k : 2
所以基本上我希望键是数组的前两列。
【问题讨论】:
-
你试过了吗?
-
您有什么特别的问题,而不是“为我做我的工作”吗?
-
你当前的数据库查询是什么?
-
我尝试使用普通哈希,如下所示:@Arr_new = @Arr.inject(Hash.new(0)) { |hash,element| hash[element] +=1 hash } 但它没有返回我想要的输出
-
@MarkThomas :我知道我可以在查询数据库时做到这一点。但我想在应用程序的多个地方使用这个数组。因此,与在我的应用程序中创建另一个数组相比,触发多个查询是个坏主意。
标签: ruby-on-rails ruby arrays ruby-on-rails-3 hash