我的Ruby 1.9.3代码打开一个文件并检查每一行是否存在某个字符串:
if File.open('Gemfile').lines.any?{|line| line.include?('pg')}
puts "found 'pg'"
end
Ruby 2.0.0给了我一个警告:
警告:不推荐使用IO#行;请改用#each_line
在Ruby 2.0.0中实现此功能的最有效方法是什么?
答案 0 :(得分:3)
在ruby 2.0 IO#each_line
中可以返回一个枚举器。因此,lines
或each_line
替换each
应该与当前代码完全相同。
if File.open('Gemfile').each {|line| line.include?('pg')}
puts "found 'pg'"
end