Ruby - 数组问题 - 来自文件的行

时间:2017-09-05 08:24:51

标签: arrays ruby file-io

我正在尝试编写一个简单的ruby脚本来解析一些设备配置。 我正在逐行读取txt文件中的配置,如果我遇到匹配项,我想将这些行读入array并将array粘贴到输出文件中。

if $match == 1 

 my_array.insert($j,/#{line}/)

 $j += 1


somefile_log.puts ("DEBUG : Array at #{$j} is #{my_array[$j]}")

我搞砸了索引方面。 **J**递增但array值与其读取的第一行保持一致。想法?

1 个答案:

答案 0 :(得分:0)

这是一个完整的混乱。在ruby中,我们将通过以下方式完成:

match = /TEST/ # no need for global variables

result = File.readlines('/foo/bar/file.name').select do |line|
  line =~ match
end

result.each_with_index do |line, idx|
  somefile_log.puts "DEBUG : Array at #{idx} is #{line}"
end

或者,甚至更好,

File.readlines.grep(match)

正如JörgW。Mittag的评论中所建议的