我有一个连续的数据流,由整数组成,我需要添加它们以向数据库中添加三个组。 我一直在谷歌上搜索了几天,但还没有找到可行的解决方案。
所以我要求这个大脑帮助我。
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看起来像一个好的命令,但......
答案 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