这个标题本身就说明了问题.我只想知道它是否存在,而不是它在哪里.有没有一条航线可以实现这一点?

推荐答案

File.open(filename).grep(/string/)

这会将整个文件加载到内存中(slurps文件).你应该避免文件发出咕噜声.这意味着一次加载一行,而不是整个文件.

File.foreach(filename).grep(/string/)

最好的做法是自己清理,而不是让垃圾收集器在某个时候处理.如果你的程序是长期的,而不仅仅是一些快速的脚本,这一点就更重要了.使用代码块可以确保在块终止时关闭File对象.

File.foreach(filename) do |file|
  file.grep(/string/)
end

Ruby相关问答推荐

如何在 Ruby 中正确编写代码?以便它产生正确的输出?

如何判断 Ruby 文件是否为空?

在 Ruby 中导出环境变量

在Ruby中将关键字与常规参数混合?

如何使用 Ruby 的邮件 gem 通过 smtp 发送Electron邮件?

Ruby数组中的`return`#map

用mustache迭代数组

C# ?? Ruby 中的运算符?

Ruby 的排序方法使用哪种算法?

RSpec:如何测试文件操作和文件内容

如何自定义 Jekyll 的 url?

在 OSX 10.10 Yosemite 上安装 Nokogiri

如何在 Ruby 中遍历多行字符串?

使用 Ruby 将大写字符串转换为标题大小写

Sublime Text 2 控制台输入

如何只获取没有命名空间的类名

如何使用 Ruby 运行命令五次?

Ruby 中的 to_s 与 to_str(以及 to_i/to_a/to_h 与 to_int/to_ary/to_hash)

常见的 Ruby 习语

如何在ruby脚本中隐藏终端的密码输入