Hola usuario de nuestra web, tenemos la solución a lo que necesitas, has scroll y la verás aquí.
Solución:
Ruby tiene un método para esto:
File.readlines('foo').each do |line|
http://ruby-doc.org/core-1.9.3/IO.html#method-c-readlines
File.foreach(filename).with_index do |line, line_num|
puts "#line_num: #line"
end
Esto ejecutará el bloque dado para cada línea en el archivo sin absorber todo el archivo en la memoria. Véase: IO::foreach.
Creo que mi respuesta cubre sus nuevas preocupaciones sobre el manejo de cualquier tipo de final de línea, ya que ambos "rn"
y "r"
se convierten al estándar Linux "n"
antes de analizar las líneas.
para apoyar el "r"
carácter EOL junto con el regular "n"
y "rn"
desde Windows, esto es lo que haría:
line_num=0
text=File.open('xxx.txt').read
text.gsub!(/rn?/, "n")
text.each_line do |line|
print "#line_num += 1 #line"
end
Por supuesto, esto podría ser una mala idea en archivos muy grandes, ya que significa cargar todo el archivo en la memoria.
Aquí tienes las reseñas y puntuaciones
Si crees que ha sido de ayuda nuestro post, nos gustaría que lo compartas con más desarrolladores y nos ayudes a extender este contenido.