Ruby on rails I';我想从do块添加到数组中。这是怎么做到的?

Ruby on rails I';我想从do块添加到数组中。这是怎么做到的?,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,以下是数组、do块和我尝试写入新数组的次数: @event\u class\u array是动态的,并不总是有相同的数组,但格式是一致的 @rule_name = Array.new @rule_count = Array.new @event_class_array = [["WEB-APPLICATION-ATTACK", 1222], ["MISC-ACTIVITY", 6], ["ATTEMPTED-ADMIN", 6], ["POLICY-VIOLATION", 5]] @event_

以下是数组、do块和我尝试写入新数组的次数:

@event\u class\u array
是动态的,并不总是有相同的数组,但格式是一致的

@rule_name = Array.new
@rule_count = Array.new
@event_class_array = [["WEB-APPLICATION-ATTACK", 1222], ["MISC-ACTIVITY", 6], ["ATTEMPTED-ADMIN", 6], ["POLICY-VIOLATION", 5]]
@event_class_array.each do |exploit,count| # I also tried .collect with the same results
        @rule_name = [exploit]
        @rule_count = [count]
      end
我也尝试过这个,但它写了1222次“WEB-APPLICATION-ATTACK”,以及其他内容:

        @rule_name += [exploit]
        @rule_count += [count]
结果如下:

        @rule_name << [exploit]
        @rule_count << [count]
使用以下命令:

@rule_name = Array.new
@rule_count = Array.new
@event_class_array.each do |exploit|
  @rule_name << [exploit.first]
  @rule_count << [exploit.last]
end
@rule\u name=Array.new
@规则\u count=Array.new
@事件_类_数组。每个不|利用|
@规则名称如何:

@event_class_array = [["WEB-APPLICATION-ATTACK", 1222], ["MISC-ACTIVITY", 6], ["ATTEMPTED-ADMIN", 6], ["POLICY-VIOLATION", 5]]

@rule_name, @rule_count = @event_class_array.transpose
简单:


它们都会导致相同的事情发生1222次。不像我要找的那样
[[“WEB-APPLICATION-ATTACK”]、[“MISC-ACTIVITY”]、[“Attemed-ADMIN”]、[“POLICY-VIOLATION”]
。我已经尝试过了,效果很好。检查rule_name和rule_count这将返回与您所希望的略有不同的结果-您列出了您想要的数组数组,这将只返回值数组。这还可以吗?它似乎工作得很好,我正在将
@rule\u name
@rule\u count
传递到Highcharts条形图,它显示了我正在寻找的数据。
@rule_name = Array.new
@rule_count = Array.new
@event_class_array.each do |exploit, count|
  @rule_name << [exploit]
  @rule_count << [count]
end
@event_class_array = [["WEB-APPLICATION-ATTACK", 1222], ["MISC-ACTIVITY", 6], ["ATTEMPTED-ADMIN", 6], ["POLICY-VIOLATION", 5]]

@rule_name, @rule_count = @event_class_array.transpose
@foo = Array.new
@bar = Array.new
@foo_bar.each do |x|
  @foo << x[0]
  @bar << x[1]
end
@foo_bar.each_with_index { |x, i|
  @foo[i] = x[0]
  @bar[i] = x[1]
}