添加三个整数tp数组

时间:2016-02-25 07:30:47

标签: ruby-on-rails

我有一个连续的数据流,由整数组成,我需要添加它们以向数据库中添加三个组。 我一直在谷歌上搜索了几天,但还没有找到可行的解决方案。

所以我要求这个大脑帮助我。

def index
    i=0
    speedData = []
    tempArray = []
    File.open("/var/www/html/speeds.txt", "r").each_line do |line|
        speedData.push(line.split(/\s/)[1].to_f.round)
        puts speedData.last
            if i<3
                tempArray.push(speedData.last)
                i=+1
            end
            puts tempArray.inspect
            #Speed.create(:ping => tempArray[0], :down => tempArray[1], :up => tempArray[2])
            i=0
            tempArray.clear
        end

    end
    puts i
end

这是我目前的解决方案......不介意你。 :) 所以我该怎么做? groups_of看起来像一个好的命令,但......

1 个答案:

答案 0 :(得分:1)

是的,in_groups_of似乎就是您所需要的。 如果我正确理解speeds.txt的格式,那么这样就可以了:

def index
  File.open("/var/www/html/speeds.txt", "r").each_line do |line|
    all_numbers = line.split(/\s+/)
    all_numbers.in_groups_of(3).each do |(ping, down, up)|
      Speed.create(:ping => ping, :down => down, :up => up)
    end
  end
end