Все следующие API делают то же самое: откройте файл и вызовите блок для каждой строки. Есть ли предпочтение, которое мы должны использовать, чем другое?
File.open("file").each_line {|line| puts line}
open("file").each_line {|line| puts line}
IO.foreach("file") {|line | puts line}