从文件中读取某些行

Ryn*_*Ryn 2 ruby

嗨刚刚进入Ruby,我正在尝试学习一些基本的文件读取命令,我还没有找到任何可靠的来源.

我试图通过该文件中的某些行,直到文件的末尾.

所以在文件里面写着FILE_SOURCES我想读取文件末尾的所有来源,并将它们放在一个文件中.

我发现打印整个文件,并替换文件中的单词,但我只是想读取文件中的某些部分.

tad*_*man 7

如果你试图从某个以某种方式分隔的文件中提取一个部分,通常你会遵循这样的模式:

open(filename) do |f|
  state = nil

  while (line = f.gets)
    case (state)
    when nil
      # Look for the line beginning with "FILE_SOURCES"
      if (line.match(/^FILE_SOURCES/))
        state = :sources
      end
    when :sources
      # Stop printing if you hit something starting with "END"
      if (line.match(/^END/))
        state = nil
      else
        print line
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

您可以根据您所在文件的哪个部分从一种状态更改为另一种状态.